diff --git a/compiler/noirc_frontend/src/ownership/last_uses.rs b/compiler/noirc_frontend/src/ownership/last_uses.rs index 334c5ecca4e..3ae5b6965cb 100644 --- a/compiler/noirc_frontend/src/ownership/last_uses.rs +++ b/compiler/noirc_frontend/src/ownership/last_uses.rs @@ -56,7 +56,7 @@ pub(super) enum Branches { /// No use in this branch or there is no branch None, Direct(IdentId), - IfOrMatch(Vec), + IfOrMatch(IfOrMatchId, HashMap), } impl Branches { @@ -65,7 +65,23 @@ impl Branches { match self { Branches::None => Vec::new(), Branches::Direct(ident_id) => vec![ident_id], - Branches::IfOrMatch(cases) => cases.into_iter().flat_map(Self::flatten_uses).collect(), + Branches::IfOrMatch(_, cases) => { + cases.into_values().flat_map(Self::flatten_uses).collect() + } + } + } + + fn get_if_or_match_id(&self) -> Option { + match self { + Branches::IfOrMatch(id, _) => Some(*id), + _ => None, + } + } + + fn get_branches_map(&mut self) -> Option<&mut HashMap> { + match self { + Branches::IfOrMatch(_, map) => Some(map), + _ => None, } } } @@ -73,13 +89,16 @@ impl Branches { /// A single path through a `Branches` enum. /// /// This is used by the context to keep track of where we currently are within a function. -#[derive(Debug)] -enum BranchesPath { - /// We've reached our destination - Here, - /// We're in a fork in the road, take the branch at the given index - IfOrMatch { branch_index: usize, rest: Box }, -} +type BranchesPath = Vec<(IfOrMatchId, BranchId)>; + +/// The Id of an `if` or `match`, used to distinguish multiple sequential ifs/matches +/// from each other. +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub(super) struct IfOrMatchId(u32); + +/// The Id for a single branch of an if or match +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub(super) struct BranchId(u32); struct LastUseContext { /// The outer `Vec` is each loop we're currently in, while the `BranchPath` contains @@ -87,6 +106,8 @@ struct LastUseContext { /// As a whole, this tracks the current control-flow of the function we're in. current_loop_and_branch: Vec, + next_id: u32, + /// Stores the location of each variable's last use /// /// Map from each local variable to the last instance of that variable. Separate uses of @@ -132,8 +153,12 @@ impl Context { pub(super) fn find_last_uses_of_variables( function: &Function, ) -> HashMap> { - let mut context = - LastUseContext { current_loop_and_branch: Vec::new(), last_uses: HashMap::default() }; + let mut context = LastUseContext { + current_loop_and_branch: Vec::new(), + last_uses: HashMap::default(), + next_id: 0, + }; + context.push_loop_scope(); for (parameter, ..) in &function.parameters { context.declare_variable(*parameter); @@ -145,29 +170,30 @@ impl Context { impl LastUseContext { fn push_loop_scope(&mut self) { - self.current_loop_and_branch.push(BranchesPath::Here); + self.current_loop_and_branch.push(BranchesPath::new()); } fn pop_loop_scope(&mut self) { - self.current_loop_and_branch.pop(); + self.current_loop_and_branch.pop().expect("No loop to pop"); } - fn branch(&mut self, branch_index: usize) { + fn branch(&mut self, id: IfOrMatchId, branch_id: u32) { let path = self.current_loop_and_branch.last_mut().expect("We should always have at least 1 path"); - let rest = Box::new(std::mem::replace(path, BranchesPath::Here)); - *path = BranchesPath::IfOrMatch { branch_index, rest }; + + path.push((id, BranchId(branch_id))); + } + + fn next_if_or_match_id(&mut self) -> IfOrMatchId { + let id = self.next_id; + self.next_id += 1; + IfOrMatchId(id) } fn unbranch(&mut self) { let path = self.current_loop_and_branch.last_mut().expect("We should always have at least 1 path"); - let rest = std::mem::replace(path, BranchesPath::Here); - - match rest { - BranchesPath::Here => panic!("unbranch called without any branches"), - BranchesPath::IfOrMatch { branch_index: _, rest } => *path = *rest, - } + path.pop().expect("No branch to unbranch"); } fn loop_index(&self) -> usize { @@ -203,12 +229,18 @@ impl LastUseContext { fn remember_use_of_variable_rec( branches: &mut Branches, - path: &BranchesPath, + path: &[(IfOrMatchId, BranchId)], variable: IdentId, ) { + let reset_branch_and_recur = |branch: &mut Branches, if_or_match_id, branch_id| { + let empty_branch = [(branch_id, Branches::None)].into_iter().collect(); + *branch = Branches::IfOrMatch(if_or_match_id, empty_branch); + Self::remember_use_of_variable_rec(branch, path, variable); + }; + match (branches, path) { // Path is direct, overwrite the last use entirely - (branch, BranchesPath::Here) => { + (branch, []) => { *branch = Branches::Direct(variable); } // Our path says we need to enter an if or match but the variable's last @@ -216,24 +248,19 @@ impl LastUseContext { // and write to the relevant branch of that ( branch @ (Branches::None | Branches::Direct { .. }), - BranchesPath::IfOrMatch { branch_index, rest: _ }, + [(if_or_match_id, branch_id), ..], ) => { // The branch doesn't exist for this variable; create it - let empty_branches = - std::iter::repeat_n(Branches::None, *branch_index + 1).collect(); - *branch = Branches::IfOrMatch(empty_branches); - Self::remember_use_of_variable_rec(branch, path, variable); + reset_branch_and_recur(branch, *if_or_match_id, *branch_id); } - // The variable's last use was in an if or match, and our current path is in one - // as well so just follow to the relevant branch in both. We just need to possibly - // resize the variable's branches count in case it was created with fewer than we - // know we currently have. - (Branches::IfOrMatch(branches), BranchesPath::IfOrMatch { branch_index, rest }) => { - let required_len = *branch_index + 1; - if branches.len() < required_len { - branches.resize(required_len, Branches::None); + (branches @ Branches::IfOrMatch(..), [(new_if_id, branch_id), rest @ ..]) => { + if branches.get_if_or_match_id() == Some(*new_if_id) { + let nested = branches.get_branches_map().expect("We know this is a IfOrMatch"); + let entry = nested.entry(*branch_id).or_insert(Branches::None); + Self::remember_use_of_variable_rec(entry, rest, variable); + } else { + reset_branch_and_recur(branches, *new_if_id, *branch_id); } - Self::remember_use_of_variable_rec(&mut branches[*branch_index], rest, variable); } } } @@ -338,30 +365,33 @@ impl LastUseContext { fn track_variables_in_if(&mut self, if_expr: &ast::If) { self.track_variables_in_expression(&if_expr.condition); - self.branch(0); + let if_id = self.next_if_or_match_id(); + self.branch(if_id, 0); self.track_variables_in_expression(&if_expr.consequence); self.unbranch(); if let Some(alt) = &if_expr.alternative { - self.branch(1); + self.branch(if_id, 1); self.track_variables_in_expression(alt); self.unbranch(); } } fn track_variables_in_match(&mut self, match_expr: &ast::Match) { + let match_id = self.next_if_or_match_id(); + for (i, case) in match_expr.cases.iter().enumerate() { for argument in &case.arguments { self.declare_variable(*argument); } - self.branch(i); + self.branch(match_id, i as u32); self.track_variables_in_expression(&case.branch); self.unbranch(); } if let Some(default_case) = &match_expr.default_case { - self.branch(match_expr.cases.len()); + self.branch(match_id, match_expr.cases.len() as u32); self.track_variables_in_expression(default_case); self.unbranch(); } diff --git a/test_programs/execution_success/last_uses_regression_8935/Nargo.toml b/test_programs/execution_success/last_uses_regression_8935/Nargo.toml new file mode 100644 index 00000000000..bb192b6b0dd --- /dev/null +++ b/test_programs/execution_success/last_uses_regression_8935/Nargo.toml @@ -0,0 +1,7 @@ +[package] +name = "last_uses_regression_8935" +type = "bin" +authors = [""] +compiler_version = ">=0.32.0" + +[dependencies] diff --git a/test_programs/execution_success/last_uses_regression_8935/Prover.toml b/test_programs/execution_success/last_uses_regression_8935/Prover.toml new file mode 100644 index 00000000000..7d8b88fab89 --- /dev/null +++ b/test_programs/execution_success/last_uses_regression_8935/Prover.toml @@ -0,0 +1,2 @@ +a = [42] +b = [42] diff --git a/test_programs/execution_success/last_uses_regression_8935/src/main.nr b/test_programs/execution_success/last_uses_regression_8935/src/main.nr new file mode 100644 index 00000000000..519fb072ff9 --- /dev/null +++ b/test_programs/execution_success/last_uses_regression_8935/src/main.nr @@ -0,0 +1,39 @@ +unconstrained fn main(a: [u16; 1], b: [u16; 1]) { + case1(a); + case2(b); +} + +unconstrained fn case1(array: [u16; 1]) { + if false {} else { + let mut d = array; + if (true) { + d[0] = 2; + assert(array[0] != 2); + + // This println is needed to ensure d is not optimized out + println(d); + } else { + () + } + } +} + +unconstrained fn case2(array: [u16; 1]) { + if true { + if true { + let mut foo = array; + foo[0] = 0; + + // This println is needed to ensure foo is not optimized out + println(foo); + } + } + + if true { + if false { + () + } else { + assert(array[0] != 0); + } + } +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__expanded.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__expanded.snap new file mode 100644 index 00000000000..7491a02faba --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__expanded.snap @@ -0,0 +1,38 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: expanded_code +--- +unconstrained fn main(a: [u16; 1], b: [u16; 1]) { + case1(a); + case2(b); +} + +unconstrained fn case1(array: [u16; 1]) { + if false {} else { + let mut d: [u16; 1] = array; + if true { + d[0] = 2; + assert(array[0] != 2); + println(d); + } else { + () + } + } +} + +unconstrained fn case2(array: [u16; 1]) { + if true { + if true { + let mut foo: [u16; 1] = array; + foo[0] = 0; + println(foo); + } + }; + if true { + if false { + () + } else { + assert(array[0] != 0); + } + } +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap new file mode 100644 index 00000000000..48d6378ca4f --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_-9223372036854775808.snap @@ -0,0 +1,76 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + } + ], + "return_type": null, + "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, _1]", + "public parameters indices : []", + "return value indices : []", + "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }]), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }])], outputs: []", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32863 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32861), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32861), source: Direct(32861), bit_size: Integer(U16) }, Cast { destination: Direct(32862), source: Direct(32862), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32861 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(1), source: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32862 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(2), source: Relative(3) }, Call { location: 48 }, Call { location: 75 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32863 }, 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: 47 }, 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: 40 }, Return, Const { destination: Direct(32835), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32837), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U8), value: 34 }, Const { destination: Direct(32839), bit_size: Integer(U8), value: 44 }, Const { destination: Direct(32840), bit_size: Integer(U8), value: 49 }, Const { destination: Direct(32841), bit_size: Integer(U8), value: 54 }, Const { destination: Direct(32842), bit_size: Integer(U8), value: 58 }, Const { destination: Direct(32843), bit_size: Integer(U8), value: 97 }, Const { destination: Direct(32844), bit_size: Integer(U8), value: 100 }, Const { destination: Direct(32845), bit_size: Integer(U8), value: 101 }, Const { destination: Direct(32846), bit_size: Integer(U8), value: 103 }, Const { destination: Direct(32847), bit_size: Integer(U8), value: 104 }, Const { destination: Direct(32848), bit_size: Integer(U8), value: 105 }, Const { destination: Direct(32849), bit_size: Integer(U8), value: 107 }, Const { destination: Direct(32850), bit_size: Integer(U8), value: 108 }, Const { destination: Direct(32851), bit_size: Integer(U8), value: 110 }, Const { destination: Direct(32852), bit_size: Integer(U8), value: 112 }, Const { destination: Direct(32853), bit_size: Integer(U8), value: 114 }, Const { destination: Direct(32854), bit_size: Integer(U8), value: 115 }, Const { destination: Direct(32855), bit_size: Integer(U8), value: 116 }, Const { destination: Direct(32856), bit_size: Integer(U8), value: 117 }, Const { destination: Direct(32857), bit_size: Integer(U8), value: 119 }, Const { destination: Direct(32858), bit_size: Integer(U8), value: 121 }, Const { destination: Direct(32859), bit_size: Integer(U8), value: 123 }, Const { destination: Direct(32860), bit_size: Integer(U8), value: 125 }, Return, Call { location: 89 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(4), source: Direct(0) }, Mov { destination: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(3) }, Call { location: 95 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, Mov { destination: Relative(4), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(1) }, Call { location: 271 }, Mov { destination: Direct(0), source: Relative(0) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 94 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 89 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 102 }, Call { location: 447 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U16), value: 2 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 450 }, Mov { destination: Relative(4), source: Direct(32773) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32837) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32837) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(5), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Direct(32835) }, JumpIf { condition: Relative(2), location: 118 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(2) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(5), source: Relative(2) }, Store { destination_pointer: Relative(5), source: Direct(32859) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32849) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32843) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32843) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32858) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32850) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32846) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32847) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32840) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32858) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32852) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32859) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32849) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32856) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32854) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32846) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32846) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32857) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32847) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32840) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32841) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32860) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32860) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32836)), HeapArray(HeapArray { pointer: Relative(2), size: 1 }), HeapArray(HeapArray { pointer: Relative(5), size: 72 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, Return, Call { location: 89 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 278 }, Call { location: 447 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U16), value: 0 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 450 }, Mov { destination: Relative(4), source: Direct(32773) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32837) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Direct(32859) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32849) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32858) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32850) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32847) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32840) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32858) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32852) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32859) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32849) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32856) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32854) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32857) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32847) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32840) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32841) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32860) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32860) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32836)), HeapArray(HeapArray { pointer: Relative(6), size: 1 }), HeapArray(HeapArray { pointer: Relative(7), size: 72 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32837) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Direct(32835) }, JumpIf { condition: Relative(2), location: 446 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 454 }, Jump { location: 456 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 471 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 468 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 461 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 471 }, Return]" + ], + "debug_symbols": "tdjdSltbFIbhe8lxDtYcY8w/b6VIiRpLIERJdcNGvPc9Z9b7VXdBKEpPHGNV59OQ5o2rednc7W+ef3w/nO4ffm6uvr1sbs6H4/Hw4/vx4Xb3dHg4jT992SzzSy2bq7Td1LqOto5+GW1ZR1qHba5sDF9HrCOvo6yjXkYfVz5GXUdbR7+MtCzMxDSmMwccc2ZmYVZmY/Z1poU5vDynMYdX5gxmZhZmZQ6vz9nXaQszMY3pzGBmZmFWJp7hOZ7jOZ7jOZ7jOZ7jOZ7jBV7gBV7gBV7gBV7gBV7gZbyMl/EyXsbLeBkv42W8jFfwCl7BK3gFr+AVvIJX8Apexat4Fa/iVbyKV/EqXsWreA2v4TW8htfwGl7Da3gNr+F1vI7X8Tpex+t4Ha/jdby+erYszMQ0pjODmZmFWZmNiZfwEl7CS3gJL+ElvIRHH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GHzb7SMtcmpbOUtd3ZqvODGZmFmZlNmZf5+V9Ps0laTEtriW0ZC1Fy3xkMZempbPMONYlaTEtriW0ZC1Fi+QuuSP7smhJWkyLawktWUvRUrU0LZKT5CQ5SU6Sk+QkOUlOkpPkJNkkm2STbJJNskk2ySbZJJtkl+ySXbJLdsku2SW7ZJfskkNySA7JITkkh+SQHJJDckjOkrPkLDlLzpKz5Cw5S86Ss+QiuUgukovkIrlILpKL5CK5SK6Sq+QquUqukqvkKrlKrpKr5Ca5SW6Sm+QmuUluktWgq0FXg64GXQ26GnQ16GrQ1aCrQVeDrgZdDYYaDDUYajDUYKjBUIOhBkMNhhoMNRhqMNRgqMFQg6EGQw2GGgw1GGow1GCowVCDoQZDDYYaDDUYajDUYKjBUIOhBkMNhhoMNRhqMNRgXBrMc6lampYpj1vUuDR4WaZc52JaXEtomXJ9fd1udLP//em83897/Xd3/+P/BI+78/70tLk6PR+P280/u+Pz5Yd+Pu5Ol/m0O4/vjt8v+9PdmAO8Pxz3c3vdvp1ePj6ag7PFfh3Of3y6NE7X8onTNaqOt7eHbvan58ftFefHjdQn/v5x26LzYV88Xz9x3n+dH+/OH52vH59vPXG+m3/0/LW/d/6r/3559nI5n+1Tr7709uL98PWX7ItPQPK/CHz1KazWdd4/8xJ8d/63BK7H1e72cP7fxxGvUzofdjfHPZf3z6fbd999+vdR39HHGY/nh9v93fN5P6W3zzTGl2+Rl23UdD1+X40rr+Pien5qMC5a3/aYF2n+3HiWIvr163xY/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\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\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": "unconstrained fn main(a: [u16; 1], b: [u16; 1]) {\n case1(a);\n case2(b);\n}\n\nunconstrained fn case1(array: [u16; 1]) {\n if false {} else {\n let mut d = array;\n if (true) {\n d[0] = 2;\n assert(array[0] != 2);\n\n // This println is needed to ensure d is not optimized out\n println(d);\n } else {\n ()\n }\n }\n}\n\nunconstrained fn case2(array: [u16; 1]) {\n if true {\n if true {\n let mut foo = array;\n foo[0] = 0;\n\n // This println is needed to ensure foo is not optimized out\n println(foo);\n }\n }\n\n if true {\n if false {\n ()\n } else {\n assert(array[0] != 0);\n }\n }\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_0.snap new file mode 100644 index 00000000000..9601fa83dda --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_0.snap @@ -0,0 +1,76 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + } + ], + "return_type": null, + "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, _1]", + "public parameters indices : []", + "return value indices : []", + "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }]), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }])], outputs: []", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U16) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(1), source: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(2), source: Relative(3) }, Call { location: 48 }, Call { location: 49 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, 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: 47 }, 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: 40 }, Return, Return, Call { location: 284 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 56 }, Call { location: 290 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 2 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 1 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(6), source: Direct(32773) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(7), rhs: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 44 }, 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: 103 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 54 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Mov { destination: Relative(29), source: Direct(1) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(30) }, IndirectConst { destination_pointer: Relative(29), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(30), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Mov { destination: Relative(31), source: Relative(30) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(17) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(23) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(24) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(25) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(26) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(27) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(7), size: 1 }), HeapArray(HeapArray { pointer: Relative(8), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 256 }, Call { location: 290 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U16), value: 0 }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(8), source: Direct(32773) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(29) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 271 }, Call { location: 290 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(9), size: 1 }), HeapArray(HeapArray { pointer: Relative(11), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Load { destination: Relative(1), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U16, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(1), location: 283 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, 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: 289 }, 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, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 297 }, Jump { location: 299 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 314 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 311 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 304 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 314 }, Return]" + ], + "debug_symbols": "tZfbbuJIFEX/xc9+4Oy6ufIrURSRhLSQEIloGGkU8e9TxVnVSY9EK0orL97bmLOMCi+M36anzcPpx/12//zyc7q5fZseDtvdbvvjfvfyuD5uX/bt1bdp1TepbTVPyTzkETyiR/LIHsVjmW5Ci3qJvPIwD3kEj+iRPBoltigejZJa1EuUlYd5yCN4NMrSInlkj+KxeNRLLCsP85BH8HDK4pTFKYtTFqcsTqlOqU6pTqlOqU6pTqlOqU6pTqlOsdWKNFJkICOZyEwWciHhGTyDZ/AMnsEzeAbP4Bk8gyd4gid4gid4gid4gid4ghfgBXgBXoAX4AV4AV6AF+AFeBFehBfhRXgRXoQX4UV4EV6El+AleAlegpfgJXgJXoKX4CV4GV6Gl+FleBlehpfhZXgZXoZX4BV4BV6BhwaGB4YIhgmGCoYLhgyGDYYOhg+GEIYRhhKGE4YUhhWGFoYXhhiGGYYahhuGHIYdhh6GH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+qPtRexZyIatn98OsFxtFo4RR4ihplDxKGaVxTb1USjfFi42iUcIocZROTr3kUcooyyiV0p3xYqNolE7OvcRR0iidXHopo3RyX6Quz6V0e7zYKJ28nM/zNG6l98fDZtPvpB/ure2O+7o+bPbH6WZ/2u3m6Z/17nR508/X9f6Sx/WhHV3N02b/1LIBn7e7TW/n+X16dX00RWazfg2n36ft+nSJhfGyvJ9c+ux8E5L5pt4Xzt8u9DEf9Zfz5Qvz4dd8iPHafL4+v1RjvipcW7/yffOf+v7+cPXkZYznq6v3feOpG3iZT9KXzm/vV//1TxD+cv37Sb4N8DkD/7AGRXUAQvnKIn4A/M/Bu7a3ftwefnteOHfSYbt+2G3YfT7tHz8cPf77Oo6M543Xw8vj5ul02HTS+0NH29yqhjlYvJun9ht9G8ocy13/o9sPLXHWUvuuXd65mlV1d+4f7D8=", + "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\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\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": "unconstrained fn main(a: [u16; 1], b: [u16; 1]) {\n case1(a);\n case2(b);\n}\n\nunconstrained fn case1(array: [u16; 1]) {\n if false {} else {\n let mut d = array;\n if (true) {\n d[0] = 2;\n assert(array[0] != 2);\n\n // This println is needed to ensure d is not optimized out\n println(d);\n } else {\n ()\n }\n }\n}\n\nunconstrained fn case2(array: [u16; 1]) {\n if true {\n if true {\n let mut foo = array;\n foo[0] = 0;\n\n // This println is needed to ensure foo is not optimized out\n println(foo);\n }\n }\n\n if true {\n if false {\n ()\n } else {\n assert(array[0] != 0);\n }\n }\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_9223372036854775807.snap new file mode 100644 index 00000000000..9601fa83dda --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_false_inliner_9223372036854775807.snap @@ -0,0 +1,76 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + } + ], + "return_type": null, + "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, _1]", + "public parameters indices : []", + "return value indices : []", + "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }]), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }])], outputs: []", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U16) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(1), source: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(2), source: Relative(3) }, Call { location: 48 }, Call { location: 49 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, 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: 47 }, 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: 40 }, Return, Return, Call { location: 284 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 56 }, Call { location: 290 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 2 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 1 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(6), source: Direct(32773) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(7), rhs: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 44 }, 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: 103 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 54 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Mov { destination: Relative(29), source: Direct(1) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(30) }, IndirectConst { destination_pointer: Relative(29), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(30), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Mov { destination: Relative(31), source: Relative(30) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(17) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(23) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(24) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(25) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(26) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(27) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(7), size: 1 }), HeapArray(HeapArray { pointer: Relative(8), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 256 }, Call { location: 290 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U16), value: 0 }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(8), source: Direct(32773) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(29) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 271 }, Call { location: 290 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(9), size: 1 }), HeapArray(HeapArray { pointer: Relative(11), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Load { destination: Relative(1), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U16, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(1), location: 283 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, 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: 289 }, 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, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 297 }, Jump { location: 299 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 314 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 311 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 304 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 314 }, Return]" + ], + "debug_symbols": "tZfbbuJIFEX/xc9+4Oy6ufIrURSRhLSQEIloGGkU8e9TxVnVSY9EK0orL97bmLOMCi+M36anzcPpx/12//zyc7q5fZseDtvdbvvjfvfyuD5uX/bt1bdp1TepbTVPyTzkETyiR/LIHsVjmW5Ci3qJvPIwD3kEj+iRPBoltigejZJa1EuUlYd5yCN4NMrSInlkj+KxeNRLLCsP85BH8HDK4pTFKYtTFqcsTqlOqU6pTqlOqU6pTqlOqU6pTqlOsdWKNFJkICOZyEwWciHhGTyDZ/AMnsEzeAbP4Bk8gyd4gid4gid4gid4gid4ghfgBXgBXoAX4AV4AV6AF+AFeBFehBfhRXgRXoQX4UV4EV6El+AleAlegpfgJXgJXoKX4CV4GV6Gl+FleBlehpfhZXgZXoZX4BV4BV6BhwaGB4YIhgmGCoYLhgyGDYYOhg+GEIYRhhKGE4YUhhWGFoYXhhiGGYYahhuGHIYdhh6GH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+qPtRexZyIatn98OsFxtFo4RR4ihplDxKGaVxTb1USjfFi42iUcIocZROTr3kUcooyyiV0p3xYqNolE7OvcRR0iidXHopo3RyX6Quz6V0e7zYKJ28nM/zNG6l98fDZtPvpB/ure2O+7o+bPbH6WZ/2u3m6Z/17nR508/X9f6Sx/WhHV3N02b/1LIBn7e7TW/n+X16dX00RWazfg2n36ft+nSJhfGyvJ9c+ux8E5L5pt4Xzt8u9DEf9Zfz5Qvz4dd8iPHafL4+v1RjvipcW7/yffOf+v7+cPXkZYznq6v3feOpG3iZT9KXzm/vV//1TxD+cv37Sb4N8DkD/7AGRXUAQvnKIn4A/M/Bu7a3ftwefnteOHfSYbt+2G3YfT7tHz8cPf77Oo6M543Xw8vj5ul02HTS+0NH29yqhjlYvJun9ht9G8ocy13/o9sPLXHWUvuuXd65mlV1d+4f7D8=", + "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\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\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": "unconstrained fn main(a: [u16; 1], b: [u16; 1]) {\n case1(a);\n case2(b);\n}\n\nunconstrained fn case1(array: [u16; 1]) {\n if false {} else {\n let mut d = array;\n if (true) {\n d[0] = 2;\n assert(array[0] != 2);\n\n // This println is needed to ensure d is not optimized out\n println(d);\n } else {\n ()\n }\n }\n}\n\nunconstrained fn case2(array: [u16; 1]) {\n if true {\n if true {\n let mut foo = array;\n foo[0] = 0;\n\n // This println is needed to ensure foo is not optimized out\n println(foo);\n }\n }\n\n if true {\n if false {\n ()\n } else {\n assert(array[0] != 0);\n }\n }\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap new file mode 100644 index 00000000000..48d6378ca4f --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -0,0 +1,76 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + } + ], + "return_type": null, + "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, _1]", + "public parameters indices : []", + "return value indices : []", + "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }]), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }])], outputs: []", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32863 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32861), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32861), source: Direct(32861), bit_size: Integer(U16) }, Cast { destination: Direct(32862), source: Direct(32862), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32861 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(1), source: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32862 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(2), source: Relative(3) }, Call { location: 48 }, Call { location: 75 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32863 }, 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: 47 }, 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: 40 }, Return, Const { destination: Direct(32835), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32837), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U8), value: 34 }, Const { destination: Direct(32839), bit_size: Integer(U8), value: 44 }, Const { destination: Direct(32840), bit_size: Integer(U8), value: 49 }, Const { destination: Direct(32841), bit_size: Integer(U8), value: 54 }, Const { destination: Direct(32842), bit_size: Integer(U8), value: 58 }, Const { destination: Direct(32843), bit_size: Integer(U8), value: 97 }, Const { destination: Direct(32844), bit_size: Integer(U8), value: 100 }, Const { destination: Direct(32845), bit_size: Integer(U8), value: 101 }, Const { destination: Direct(32846), bit_size: Integer(U8), value: 103 }, Const { destination: Direct(32847), bit_size: Integer(U8), value: 104 }, Const { destination: Direct(32848), bit_size: Integer(U8), value: 105 }, Const { destination: Direct(32849), bit_size: Integer(U8), value: 107 }, Const { destination: Direct(32850), bit_size: Integer(U8), value: 108 }, Const { destination: Direct(32851), bit_size: Integer(U8), value: 110 }, Const { destination: Direct(32852), bit_size: Integer(U8), value: 112 }, Const { destination: Direct(32853), bit_size: Integer(U8), value: 114 }, Const { destination: Direct(32854), bit_size: Integer(U8), value: 115 }, Const { destination: Direct(32855), bit_size: Integer(U8), value: 116 }, Const { destination: Direct(32856), bit_size: Integer(U8), value: 117 }, Const { destination: Direct(32857), bit_size: Integer(U8), value: 119 }, Const { destination: Direct(32858), bit_size: Integer(U8), value: 121 }, Const { destination: Direct(32859), bit_size: Integer(U8), value: 123 }, Const { destination: Direct(32860), bit_size: Integer(U8), value: 125 }, Return, Call { location: 89 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 4 }, Mov { destination: Relative(4), source: Direct(0) }, Mov { destination: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(3) }, Call { location: 95 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 3 }, Mov { destination: Relative(3), source: Direct(0) }, Mov { destination: Relative(4), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(1) }, Call { location: 271 }, Mov { destination: Direct(0), source: Relative(0) }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 94 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 89 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 102 }, Call { location: 447 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U16), value: 2 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 450 }, Mov { destination: Relative(4), source: Direct(32773) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32837) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32837) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(5), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Direct(32835) }, JumpIf { condition: Relative(2), location: 118 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(2) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(5), source: Relative(2) }, Store { destination_pointer: Relative(5), source: Direct(32859) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32849) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32843) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32843) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32858) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32850) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32846) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32847) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32840) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32858) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32852) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32859) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32849) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32856) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32854) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32846) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32851) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32846) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32845) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32853) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32857) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32848) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32844) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32855) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32847) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32838) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32842) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32840) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32841) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32860) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32860) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32836)), HeapArray(HeapArray { pointer: Relative(2), size: 1 }), HeapArray(HeapArray { pointer: Relative(5), size: 72 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, Return, Call { location: 89 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 278 }, Call { location: 447 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U16), value: 0 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 450 }, Mov { destination: Relative(4), source: Direct(32773) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32837) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Direct(32859) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32849) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32858) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32850) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32847) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32840) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32858) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32852) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32859) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32849) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32856) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32854) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32851) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32857) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32848) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32844) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32847) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32840) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32841) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32860) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32860) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32836)), HeapArray(HeapArray { pointer: Relative(6), size: 1 }), HeapArray(HeapArray { pointer: Relative(7), size: 72 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32837) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(4), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Direct(32835) }, JumpIf { condition: Relative(2), location: 446 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 454 }, Jump { location: 456 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 471 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 468 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 461 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 471 }, Return]" + ], + "debug_symbols": "tdjdSltbFIbhe8lxDtYcY8w/b6VIiRpLIERJdcNGvPc9Z9b7VXdBKEpPHGNV59OQ5o2rednc7W+ef3w/nO4ffm6uvr1sbs6H4/Hw4/vx4Xb3dHg4jT992SzzSy2bq7Td1LqOto5+GW1ZR1qHba5sDF9HrCOvo6yjXkYfVz5GXUdbR7+MtCzMxDSmMwccc2ZmYVZmY/Z1poU5vDynMYdX5gxmZhZmZQ6vz9nXaQszMY3pzGBmZmFWJp7hOZ7jOZ7jOZ7jOZ7jOZ7jBV7gBV7gBV7gBV7gBV7gZbyMl/EyXsbLeBkv42W8jFfwCl7BK3gFr+AVvIJX8Apexat4Fa/iVbyKV/EqXsWreA2v4TW8htfwGl7Da3gNr+F1vI7X8Tpex+t4Ha/jdby+erYszMQ0pjODmZmFWZmNiZfwEl7CS3gJL+ElvIRHH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GH0YfRh9GHzb7SMtcmpbOUtd3ZqvODGZmFmZlNmZf5+V9Ps0laTEtriW0ZC1Fy3xkMZempbPMONYlaTEtriW0ZC1Fi+QuuSP7smhJWkyLawktWUvRUrU0LZKT5CQ5SU6Sk+QkOUlOkpPkJNkkm2STbJJNskk2ySbZJJtkl+ySXbJLdsku2SW7ZJfskkNySA7JITkkh+SQHJJDckjOkrPkLDlLzpKz5Cw5S86Ss+QiuUgukovkIrlILpKL5CK5SK6Sq+QquUqukqvkKrlKrpKr5Ca5SW6Sm+QmuUluktWgq0FXg64GXQ26GnQ16GrQ1aCrQVeDrgZdDYYaDDUYajDUYKjBUIOhBkMNhhoMNRhqMNRgqMFQg6EGQw2GGgw1GGow1GCowVCDoQZDDYYaDDUYajDUYKjBUIOhBkMNhhoMNRhqMNRgXBrMc6lampYpj1vUuDR4WaZc52JaXEtomXJ9fd1udLP//em83897/Xd3/+P/BI+78/70tLk6PR+P280/u+Pz5Yd+Pu5Ol/m0O4/vjt8v+9PdmAO8Pxz3c3vdvp1ePj6ag7PFfh3Of3y6NE7X8onTNaqOt7eHbvan58ftFefHjdQn/v5x26LzYV88Xz9x3n+dH+/OH52vH59vPXG+m3/0/LW/d/6r/3559nI5n+1Tr7709uL98PWX7ItPQPK/CHz1KazWdd4/8xJ8d/63BK7H1e72cP7fxxGvUzofdjfHPZf3z6fbd999+vdR39HHGY/nh9v93fN5P6W3zzTGl2+Rl23UdD1+X40rr+Pien5qMC5a3/aYF2n+3HiWIvr163xY/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\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\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": "unconstrained fn main(a: [u16; 1], b: [u16; 1]) {\n case1(a);\n case2(b);\n}\n\nunconstrained fn case1(array: [u16; 1]) {\n if false {} else {\n let mut d = array;\n if (true) {\n d[0] = 2;\n assert(array[0] != 2);\n\n // This println is needed to ensure d is not optimized out\n println(d);\n } else {\n ()\n }\n }\n}\n\nunconstrained fn case2(array: [u16; 1]) {\n if true {\n if true {\n let mut foo = array;\n foo[0] = 0;\n\n // This println is needed to ensure foo is not optimized out\n println(foo);\n }\n }\n\n if true {\n if false {\n ()\n } else {\n assert(array[0] != 0);\n }\n }\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_0.snap new file mode 100644 index 00000000000..9601fa83dda --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_0.snap @@ -0,0 +1,76 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + } + ], + "return_type": null, + "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, _1]", + "public parameters indices : []", + "return value indices : []", + "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }]), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }])], outputs: []", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U16) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(1), source: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(2), source: Relative(3) }, Call { location: 48 }, Call { location: 49 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, 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: 47 }, 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: 40 }, Return, Return, Call { location: 284 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 56 }, Call { location: 290 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 2 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 1 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(6), source: Direct(32773) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(7), rhs: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 44 }, 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: 103 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 54 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Mov { destination: Relative(29), source: Direct(1) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(30) }, IndirectConst { destination_pointer: Relative(29), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(30), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Mov { destination: Relative(31), source: Relative(30) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(17) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(23) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(24) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(25) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(26) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(27) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(7), size: 1 }), HeapArray(HeapArray { pointer: Relative(8), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 256 }, Call { location: 290 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U16), value: 0 }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(8), source: Direct(32773) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(29) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 271 }, Call { location: 290 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(9), size: 1 }), HeapArray(HeapArray { pointer: Relative(11), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Load { destination: Relative(1), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U16, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(1), location: 283 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, 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: 289 }, 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, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 297 }, Jump { location: 299 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 314 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 311 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 304 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 314 }, Return]" + ], + "debug_symbols": "tZfbbuJIFEX/xc9+4Oy6ufIrURSRhLSQEIloGGkU8e9TxVnVSY9EK0orL97bmLOMCi+M36anzcPpx/12//zyc7q5fZseDtvdbvvjfvfyuD5uX/bt1bdp1TepbTVPyTzkETyiR/LIHsVjmW5Ci3qJvPIwD3kEj+iRPBoltigejZJa1EuUlYd5yCN4NMrSInlkj+KxeNRLLCsP85BH8HDK4pTFKYtTFqcsTqlOqU6pTqlOqU6pTqlOqU6pTqlOsdWKNFJkICOZyEwWciHhGTyDZ/AMnsEzeAbP4Bk8gyd4gid4gid4gid4gid4ghfgBXgBXoAX4AV4AV6AF+AFeBFehBfhRXgRXoQX4UV4EV6El+AleAlegpfgJXgJXoKX4CV4GV6Gl+FleBlehpfhZXgZXoZX4BV4BV6BhwaGB4YIhgmGCoYLhgyGDYYOhg+GEIYRhhKGE4YUhhWGFoYXhhiGGYYahhuGHIYdhh6GH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+qPtRexZyIatn98OsFxtFo4RR4ihplDxKGaVxTb1USjfFi42iUcIocZROTr3kUcooyyiV0p3xYqNolE7OvcRR0iidXHopo3RyX6Quz6V0e7zYKJ28nM/zNG6l98fDZtPvpB/ure2O+7o+bPbH6WZ/2u3m6Z/17nR508/X9f6Sx/WhHV3N02b/1LIBn7e7TW/n+X16dX00RWazfg2n36ft+nSJhfGyvJ9c+ux8E5L5pt4Xzt8u9DEf9Zfz5Qvz4dd8iPHafL4+v1RjvipcW7/yffOf+v7+cPXkZYznq6v3feOpG3iZT9KXzm/vV//1TxD+cv37Sb4N8DkD/7AGRXUAQvnKIn4A/M/Bu7a3ftwefnteOHfSYbt+2G3YfT7tHz8cPf77Oo6M543Xw8vj5ul02HTS+0NH29yqhjlYvJun9ht9G8ocy13/o9sPLXHWUvuuXd65mlV1d+4f7D8=", + "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\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\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": "unconstrained fn main(a: [u16; 1], b: [u16; 1]) {\n case1(a);\n case2(b);\n}\n\nunconstrained fn case1(array: [u16; 1]) {\n if false {} else {\n let mut d = array;\n if (true) {\n d[0] = 2;\n assert(array[0] != 2);\n\n // This println is needed to ensure d is not optimized out\n println(d);\n } else {\n ()\n }\n }\n}\n\nunconstrained fn case2(array: [u16; 1]) {\n if true {\n if true {\n let mut foo = array;\n foo[0] = 0;\n\n // This println is needed to ensure foo is not optimized out\n println(foo);\n }\n }\n\n if true {\n if false {\n ()\n } else {\n assert(array[0] != 0);\n }\n }\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_9223372036854775807.snap new file mode 100644 index 00000000000..9601fa83dda --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -0,0 +1,76 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: artifact +--- +{ + "noir_version": "[noir_version]", + "hash": "[hash]", + "abi": { + "parameters": [ + { + "name": "a", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + }, + { + "name": "b", + "type": { + "kind": "array", + "length": 1, + "type": { + "kind": "integer", + "sign": "unsigned", + "width": 16 + } + }, + "visibility": "private" + } + ], + "return_type": null, + "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, _1]", + "public parameters indices : []", + "return value indices : []", + "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }]), Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }])], outputs: []", + "unconstrained func 0", + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Cast { destination: Direct(32836), source: Direct(32836), bit_size: Integer(U16) }, Cast { destination: Direct(32837), source: Direct(32837), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(1), source: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 32837 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 1 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(5) }, Mov { destination: Direct(32773), source: Relative(4) }, Call { location: 37 }, Mov { destination: Relative(2), source: Relative(3) }, Call { location: 48 }, Call { location: 49 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, 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: 47 }, 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: 40 }, Return, Return, Call { location: 284 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 56 }, Call { location: 290 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U16), value: 2 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 1 }, Mov { destination: Direct(32771), source: Relative(1) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(6), source: Direct(32773) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(7), rhs: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U1), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 74 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 44 }, 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: 103 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 54 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 125 }, Mov { destination: Relative(29), source: Direct(1) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 73 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(30) }, IndirectConst { destination_pointer: Relative(29), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(30), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Mov { destination: Relative(31), source: Relative(30) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(13) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(17) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(15) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(23) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(1) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(8) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(24) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(25) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(10) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(19) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(18) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(14) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(26) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(9) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(11) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(20) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(21) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(7) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(22) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(27) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(28) }, Const { destination: Relative(1), bit_size: Integer(U1), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(7), size: 1 }), HeapArray(HeapArray { pointer: Relative(8), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 256 }, Call { location: 290 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U16), value: 0 }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 2 }, Call { location: 293 }, Mov { destination: Relative(8), source: Direct(32773) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(29) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 271 }, Call { location: 290 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(1)), HeapArray(HeapArray { pointer: Relative(9), size: 1 }), HeapArray(HeapArray { pointer: Relative(11), size: 72 }), MemoryAddress(Relative(3))], input_value_types: [Simple(Integer(U1)), Array { value_types: [Simple(Integer(U16))], size: 1 }, Array { value_types: [Simple(Integer(U8))], size: 72 }, Simple(Integer(U1))] }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Load { destination: Relative(1), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U16, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U1, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(1), location: 283 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, 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: 289 }, 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, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 297 }, Jump { location: 299 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 314 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 311 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 304 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 314 }, Return]" + ], + "debug_symbols": "tZfbbuJIFEX/xc9+4Oy6ufIrURSRhLSQEIloGGkU8e9TxVnVSY9EK0orL97bmLOMCi+M36anzcPpx/12//zyc7q5fZseDtvdbvvjfvfyuD5uX/bt1bdp1TepbTVPyTzkETyiR/LIHsVjmW5Ci3qJvPIwD3kEj+iRPBoltigejZJa1EuUlYd5yCN4NMrSInlkj+KxeNRLLCsP85BH8HDK4pTFKYtTFqcsTqlOqU6pTqlOqU6pTqlOqU6pTqlOsdWKNFJkICOZyEwWciHhGTyDZ/AMnsEzeAbP4Bk8gyd4gid4gid4gid4gid4ghfgBXgBXoAX4AV4AV6AF+AFeBFehBfhRXgRXoQX4UV4EV6El+AleAlegpfgJXgJXoKX4CV4GV6Gl+FleBlehpfhZXgZXoZX4BV4BV6BhwaGB4YIhgmGCoYLhgyGDYYOhg+GEIYRhhKGE4YUhhWGFoYXhhiGGYYahhuGHIYdhh6GH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+CD+EH8IP4YfwQ/gh/BB+qPtRexZyIatn98OsFxtFo4RR4ihplDxKGaVxTb1USjfFi42iUcIocZROTr3kUcooyyiV0p3xYqNolE7OvcRR0iidXHopo3RyX6Quz6V0e7zYKJ28nM/zNG6l98fDZtPvpB/ure2O+7o+bPbH6WZ/2u3m6Z/17nR508/X9f6Sx/WhHV3N02b/1LIBn7e7TW/n+X16dX00RWazfg2n36ft+nSJhfGyvJ9c+ux8E5L5pt4Xzt8u9DEf9Zfz5Qvz4dd8iPHafL4+v1RjvipcW7/yffOf+v7+cPXkZYznq6v3feOpG3iZT9KXzm/vV//1TxD+cv37Sb4N8DkD/7AGRXUAQvnKIn4A/M/Bu7a3ftwefnteOHfSYbt+2G3YfT7tHz8cPf77Oo6M543Xw8vj5ul02HTS+0NH29yqhjlYvJun9ht9G8ocy13/o9sPLXHWUvuuXd65mlV1d+4f7D8=", + "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\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\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": "unconstrained fn main(a: [u16; 1], b: [u16; 1]) {\n case1(a);\n case2(b);\n}\n\nunconstrained fn case1(array: [u16; 1]) {\n if false {} else {\n let mut d = array;\n if (true) {\n d[0] = 2;\n assert(array[0] != 2);\n\n // This println is needed to ensure d is not optimized out\n println(d);\n } else {\n ()\n }\n }\n}\n\nunconstrained fn case2(array: [u16; 1]) {\n if true {\n if true {\n let mut foo = array;\n foo[0] = 0;\n\n // This println is needed to ensure foo is not optimized out\n println(foo);\n }\n }\n\n if true {\n if false {\n ()\n } else {\n assert(array[0] != 0);\n }\n }\n}\n", + "path": "" + } + }, + "names": [ + "main" + ], + "brillig_names": [ + "main" + ] +} diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__stdout.snap b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__stdout.snap new file mode 100644 index 00000000000..564c9821b4c --- /dev/null +++ b/tooling/nargo_cli/tests/snapshots/execution_success/last_uses_regression_8935/execute__tests__stdout.snap @@ -0,0 +1,6 @@ +--- +source: tooling/nargo_cli/tests/execute.rs +expression: stdout +--- +[2] +[0] diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 514ec028030..403a01b83fb 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/regression_1144_1169_2399_6609/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -78,9 +78,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Array([Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [(1, Witness(2))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [(1, Witness(3))], q_c: 0 }, Expression { mul_terms: [], linear_combinations: [(1, Witness(4))], q_c: 0 }]), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(5))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(6))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(7))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32853 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 8 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32845), size_address: Relative(5), offset_address: Relative(6) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U8) }, Cast { destination: Direct(32846), source: Direct(32846), bit_size: Integer(U8) }, Cast { destination: Direct(32847), source: Direct(32847), bit_size: Integer(U8) }, Cast { destination: Direct(32848), source: Direct(32848), bit_size: Integer(U8) }, Cast { destination: Direct(32849), source: Direct(32849), bit_size: Integer(U8) }, Cast { destination: Direct(32851), source: Direct(32851), bit_size: Integer(U16) }, Cast { destination: Direct(32852), source: Direct(32852), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(7) }, Mov { destination: Direct(32773), source: Relative(6) }, Call { location: 33 }, Mov { destination: Relative(1), source: Relative(5) }, Mov { destination: Relative(2), source: Direct(32850) }, Mov { destination: Relative(3), source: Direct(32851) }, Mov { destination: Relative(4), source: Direct(32852) }, Call { location: 44 }, Call { location: 55 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32853 }, 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: 43 }, 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: 36 }, Return, Const { destination: Direct(32835), bit_size: Integer(U32), value: 16 }, Const { destination: Direct(32836), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U8), value: 0 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32839), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32843), bit_size: Integer(U32), value: 32 }, Const { destination: Direct(32844), bit_size: Integer(U8), value: 128 }, Return, Call { location: 540 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 546 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(10) }, Const { destination: Relative(1), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(6), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 70 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Load { destination: Relative(1), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32841) }, Load { destination: Relative(2), source_pointer: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(8) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(9) }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 15 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 1 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 12 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 11 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 8 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 6 }, 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(1) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, 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(2), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Relative(5) }, Mov { destination: Relative(12), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 769 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(11) }, JumpIf { condition: Relative(1), location: 128 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 184 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 143 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 230 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 251 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 218 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 131 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 255 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 250 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 190 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 54 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 65 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 18 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 19 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 57 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 24 }, Mov { destination: Relative(20), source: Direct(1) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(21) }, IndirectConst { destination_pointer: Relative(20), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Mov { destination: Relative(22), source: Relative(21) }, Store { destination_pointer: Relative(22), source: Relative(1) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(2) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(6) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(7) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(8) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(9) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(7) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(10) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(11) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(12) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(13) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(15) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(16) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(17) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32844) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(18) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32844) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(19) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, Const { destination: Relative(21), bit_size: Field, value: 20 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 25 }, Mov { destination: Relative(25), source: Direct(0) }, Mov { destination: Relative(26), source: Relative(20) }, Mov { destination: Relative(27), source: Relative(21) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(24) }, Call { location: 801 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(22), source: Relative(26) }, Mov { destination: Relative(23), source: Relative(27) }, Load { destination: Relative(20), source_pointer: Relative(22) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 230 }, Call { location: 977 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(20) }, Const { destination: Relative(20), bit_size: Integer(U8), value: 148 }, Mov { destination: Relative(24), source: Direct(1) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(24), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(20) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(1) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(2) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(5) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(6) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(7) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(8) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(9) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(7) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(10) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(11) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(12) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(13) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(14) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(15) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(16) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(17) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32844) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(18) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32844) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(19) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 25 }, Mov { destination: Relative(25), source: Direct(0) }, Mov { destination: Relative(26), source: Relative(22) }, Mov { destination: Relative(27), source: Relative(24) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(26) }, JumpIf { condition: Relative(1), location: 313 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(1), bit_size: Field, value: 21 }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(23), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 318 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(1), bit_size: Integer(U16), value: 65523 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(3) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 325 }, Jump { location: 327 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 329 }, Mov { destination: Relative(8), source: Relative(3) }, Jump { location: 329 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(1) }, JumpIf { condition: Relative(9), location: 335 }, Jump { location: 337 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 339 }, Mov { destination: Relative(10), source: Relative(1) }, Jump { location: 339 }, BinaryIntOp { destination: Relative(5), op: Div, bit_size: U16, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 343 }, Jump { location: 345 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(12), rhs: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U16, lhs: Relative(5), rhs: Relative(1) }, BinaryIntOp { destination: Relative(2), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(6) }, Const { destination: Relative(1), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 352 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(3) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 358 }, Jump { location: 360 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 362 }, Mov { destination: Relative(8), source: Relative(3) }, Jump { location: 362 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(4) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 368 }, Jump { location: 370 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 372 }, Mov { destination: Relative(10), source: Relative(4) }, Jump { location: 372 }, BinaryIntOp { destination: Relative(5), op: Div, bit_size: U16, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 376 }, Jump { location: 378 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(12), rhs: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U16, lhs: Relative(5), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 384 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(2), bit_size: Integer(U16), value: 65525 }, Const { destination: Relative(13), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U16, lhs: Relative(13), rhs: Relative(3) }, Const { destination: Relative(14), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(15), op: Sub, bit_size: U16, lhs: Relative(14), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 391 }, Jump { location: 393 }, Mov { destination: Relative(9), source: Relative(15) }, Jump { location: 395 }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 395 }, Const { destination: Relative(13), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U16, lhs: Relative(13), rhs: Relative(2) }, Const { destination: Relative(14), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(15), op: Sub, bit_size: U16, lhs: Relative(14), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 401 }, Jump { location: 403 }, Mov { destination: Relative(11), source: Relative(15) }, Jump { location: 405 }, Mov { destination: Relative(11), source: Relative(2) }, Jump { location: 405 }, BinaryIntOp { destination: Relative(6), op: Div, bit_size: U16, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Xor, bit_size: U1, lhs: Relative(8), rhs: Relative(10) }, JumpIf { condition: Relative(12), location: 409 }, Jump { location: 411 }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U16, lhs: Relative(6), rhs: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U16), value: 4 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U16, lhs: Relative(5), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 418 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U16) }, Cast { destination: Relative(7), source: Relative(3), bit_size: Integer(U16) }, Const { destination: Relative(8), bit_size: Integer(U16), value: 32768 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(7), rhs: Relative(8) }, Not { destination: Relative(7), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(7) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(9), location: 430 }, Call { location: 1012 }, Const { destination: Relative(15), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U16, lhs: Relative(15), rhs: Relative(1) }, Const { destination: Relative(16), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(17), op: Sub, bit_size: U16, lhs: Relative(16), rhs: Relative(1) }, JumpIf { condition: Relative(10), location: 436 }, Jump { location: 438 }, Mov { destination: Relative(11), source: Relative(17) }, Jump { location: 440 }, Mov { destination: Relative(11), source: Relative(1) }, Jump { location: 440 }, Const { destination: Relative(15), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(12), op: LessThan, bit_size: U16, lhs: Relative(15), rhs: Relative(2) }, Const { destination: Relative(16), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(17), op: Sub, bit_size: U16, lhs: Relative(16), rhs: Relative(2) }, JumpIf { condition: Relative(12), location: 446 }, Jump { location: 448 }, Mov { destination: Relative(13), source: Relative(17) }, Jump { location: 450 }, Mov { destination: Relative(13), source: Relative(2) }, Jump { location: 450 }, BinaryIntOp { destination: Relative(7), op: Div, bit_size: U16, lhs: Relative(11), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Xor, bit_size: U1, lhs: Relative(10), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 454 }, Jump { location: 456 }, Const { destination: Relative(15), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U16, lhs: Relative(15), rhs: Relative(7) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U16, lhs: Relative(7), rhs: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(2), bit_size: Integer(U16), value: 65532 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U16, lhs: Relative(5), rhs: Relative(2) }, JumpIf { condition: Relative(7), location: 463 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Const { destination: Relative(5), bit_size: Integer(U16), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U16, lhs: Relative(4), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(7) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U16) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U16) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U16, lhs: Relative(9), rhs: Relative(8) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 475 }, Call { location: 1015 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U16, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(9), location: 481 }, Jump { location: 483 }, Mov { destination: Relative(10), source: Relative(16) }, Jump { location: 485 }, Mov { destination: Relative(10), source: Relative(3) }, Jump { location: 485 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U16, lhs: Relative(14), rhs: Relative(5) }, Const { destination: Relative(15), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U16, lhs: Relative(15), rhs: Relative(5) }, JumpIf { condition: Relative(11), location: 491 }, Jump { location: 493 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 495 }, Mov { destination: Relative(12), source: Relative(5) }, Jump { location: 495 }, BinaryIntOp { destination: Relative(7), op: Div, bit_size: U16, lhs: Relative(10), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 499 }, Jump { location: 501 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U16, lhs: Relative(14), rhs: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U16, lhs: Relative(7), rhs: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U16, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 507 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 513 }, Jump { location: 515 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 517 }, Mov { destination: Relative(8), source: Relative(1) }, Jump { location: 517 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 523 }, Jump { location: 525 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 527 }, Mov { destination: Relative(10), source: Relative(5) }, Jump { location: 527 }, BinaryIntOp { destination: Relative(4), op: Div, bit_size: U16, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 531 }, Jump { location: 533 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U16, lhs: Relative(12), rhs: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U16, lhs: Relative(4), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U16, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(1), location: 539 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 545 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 540 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 553 }, Call { location: 977 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U32) }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 564 }, Call { location: 977 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Direct(32842), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Direct(32836) }, JumpIf { condition: Relative(7), location: 571 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 17 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Mov { destination: Relative(9), source: Relative(7) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 585 }, Store { destination_pointer: Relative(9), source: Direct(32837) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Jump { location: 579 }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(3), source_pointer: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U8), value: 4 }, BinaryIntOp { destination: Relative(9), op: Shr, bit_size: U8, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(11), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(12), op: Div, bit_size: U8, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U8, lhs: Relative(9), rhs: Relative(13) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Integer(U1) }, Cast { destination: Relative(9), source: Relative(11), bit_size: Integer(U8) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U1) }, JumpIf { condition: Relative(10), location: 660 }, Jump { location: 601 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(6), op: LessThanEquals, bit_size: U32, lhs: Direct(32840), rhs: Relative(5) }, JumpIf { condition: Relative(6), location: 605 }, Call { location: 1012 }, Mov { destination: Relative(3), source: Direct(32838) }, Jump { location: 607 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32841) }, JumpIf { condition: Relative(5), location: 611 }, Jump { location: 610 }, Jump { location: 716 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 615 }, Jump { location: 658 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 618 }, Call { location: 1018 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U32, lhs: Direct(32841), rhs: Relative(3) }, BinaryIntOp { destination: Relative(11), op: Shr, bit_size: U8, lhs: Relative(5), rhs: Relative(8) }, Const { destination: Relative(13), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(14), op: Div, bit_size: U8, lhs: Relative(11), rhs: Relative(13) }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U8, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U8, lhs: Relative(11), rhs: Relative(15) }, Load { destination: Relative(11), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32835) }, JumpIf { condition: Relative(13), location: 631 }, Call { location: 1018 }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1021 }, Mov { destination: Relative(13), source: Direct(32773) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(12), op: LessThanEquals, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 642 }, Call { location: 1015 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(14), op: Div, bit_size: U8, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U8, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U8, lhs: Relative(5), rhs: Relative(15) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Direct(32835) }, JumpIf { condition: Relative(5), location: 649 }, Call { location: 1018 }, Mov { destination: Direct(32771), source: Relative(13) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1021 }, Mov { destination: Relative(5), source: Direct(32773) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Store { destination_pointer: Relative(14), source: Relative(10) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Jump { location: 658 }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 607 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(11), op: Div, bit_size: U8, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(12), op: Mul, bit_size: U8, lhs: Relative(11), rhs: Relative(10) }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(3), rhs: Relative(12) }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 17 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 708 }, Call { location: 977 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Mov { destination: Relative(4), source: Direct(32840) }, Jump { location: 712 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(3), location: 723 }, Jump { location: 715 }, Jump { location: 716 }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(3), bit_size: Field, value: 2 }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(9), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Add, lhs: Relative(4), rhs: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Sub, lhs: Relative(5), rhs: Relative(3) }, Return, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 726 }, Jump { location: 766 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U32, lhs: Direct(32841), rhs: Relative(4) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(11), op: LessThanEquals, bit_size: U32, lhs: Direct(32840), rhs: Relative(6) }, JumpIf { condition: Relative(11), location: 734 }, Call { location: 1012 }, BinaryIntOp { destination: Relative(11), op: Shr, bit_size: U8, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(13), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(14), op: Div, bit_size: U8, lhs: Relative(11), rhs: Relative(13) }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U8, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U8, lhs: Relative(11), rhs: Relative(15) }, Load { destination: Relative(11), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32835) }, JumpIf { condition: Relative(13), location: 743 }, Call { location: 1018 }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1021 }, Mov { destination: Relative(13), source: Direct(32773) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(12) }, Const { destination: Relative(11), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(12), op: Div, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U8, lhs: Relative(3), rhs: Relative(14) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32835) }, JumpIf { condition: Relative(3), location: 757 }, Call { location: 1018 }, Mov { destination: Direct(32771), source: Relative(13) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1021 }, Mov { destination: Relative(3), source: Direct(32773) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(6) }, Store { destination_pointer: Relative(12), source: Relative(10) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Jump { location: 766 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(3) }, Jump { location: 712 }, Call { location: 540 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 779 }, Call { location: 977 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32838) }, Jump { location: 783 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 788 }, Jump { location: 786 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 783 }, Call { location: 540 }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 808 }, Call { location: 977 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U8) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Field }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 32 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 819 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 32 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Mov { destination: Relative(10), source: Relative(8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 833 }, Store { destination_pointer: Relative(10), source: Direct(32837) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Jump { location: 827 }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(9), bit_size: Field, value: 0 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(2), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 963 }, Jump { location: 840 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 31 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(10) }, JumpIf { condition: Relative(11), location: 848 }, Jump { location: 844 }, Const { destination: Relative(1), bit_size: Field, value: 32 }, Mov { destination: Relative(6), source: Relative(5) }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 941 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U8, lhs: Direct(32844), rhs: Relative(7) }, BinaryIntOp { destination: Relative(11), op: LessThanEquals, bit_size: U8, lhs: Direct(32844), rhs: Relative(10) }, JumpIf { condition: Relative(11), location: 852 }, Call { location: 1015 }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(11) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(12), source: Relative(11) }, Store { destination_pointer: Relative(12), source: Relative(10) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, Store { destination_pointer: Relative(8), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(7) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 928 }, Call { location: 977 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Mov { destination: Relative(5), source: Direct(32840) }, Jump { location: 932 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32843) }, JumpIf { condition: Relative(7), location: 944 }, Jump { location: 935 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(5), bit_size: Field, value: 1 }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(9), source: Relative(7) }, Jump { location: 941 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(9) }, Jump { location: 974 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Direct(32843) }, JumpIf { condition: Relative(10), location: 948 }, Call { location: 1018 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(7) }, Load { destination: Relative(10), source_pointer: Relative(12) }, Load { destination: Relative(7), source_pointer: Relative(8) }, Mov { destination: Direct(32771), source: Relative(7) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 33 }, Call { location: 1021 }, Mov { destination: Relative(11), source: Direct(32773) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(10) }, Store { destination_pointer: Relative(8), source: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 932 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 969 }, Call { location: 977 }, 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(3), source: Relative(5) }, Mov { destination: Relative(4), source: Relative(2) }, Jump { location: 974 }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(4) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 540 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 990 }, Call { location: 977 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32838) }, Jump { location: 994 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32843) }, JumpIf { condition: Relative(5), location: 999 }, Jump { location: 997 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 994 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 1025 }, Jump { location: 1027 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 1042 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1039 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1032 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 1042 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32853 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 8 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32845), size_address: Relative(5), offset_address: Relative(6) }, Cast { destination: Direct(32845), source: Direct(32845), bit_size: Integer(U8) }, Cast { destination: Direct(32846), source: Direct(32846), bit_size: Integer(U8) }, Cast { destination: Direct(32847), source: Direct(32847), bit_size: Integer(U8) }, Cast { destination: Direct(32848), source: Direct(32848), bit_size: Integer(U8) }, Cast { destination: Direct(32849), source: Direct(32849), bit_size: Integer(U8) }, Cast { destination: Direct(32851), source: Direct(32851), bit_size: Integer(U16) }, Cast { destination: Direct(32852), source: Direct(32852), bit_size: Integer(U16) }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32845 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(1) }, Mov { destination: Direct(32772), source: Relative(7) }, Mov { destination: Direct(32773), source: Relative(6) }, Call { location: 33 }, Mov { destination: Relative(1), source: Relative(5) }, Mov { destination: Relative(2), source: Direct(32850) }, Mov { destination: Relative(3), source: Direct(32851) }, Mov { destination: Relative(4), source: Direct(32852) }, Call { location: 44 }, Call { location: 55 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32853 }, 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: 43 }, 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: 36 }, Return, Const { destination: Direct(32835), bit_size: Integer(U32), value: 16 }, Const { destination: Direct(32836), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U8), value: 0 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32839), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32843), bit_size: Integer(U32), value: 32 }, Const { destination: Direct(32844), bit_size: Integer(U8), value: 128 }, Return, Call { location: 540 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 546 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(10) }, Const { destination: Relative(1), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(6), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 70 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Load { destination: Relative(1), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32841) }, Load { destination: Relative(2), source_pointer: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(8) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(9) }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(9) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(7) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Const { destination: Relative(1), bit_size: Integer(U8), value: 15 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 1 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 12 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 11 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 8 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 6 }, 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(1) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, 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(2), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Relative(5) }, Mov { destination: Relative(12), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 769 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(11) }, JumpIf { condition: Relative(1), location: 128 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 184 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 143 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 230 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 251 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 218 }, Const { destination: Relative(9), bit_size: Integer(U8), value: 131 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 255 }, Const { destination: Relative(11), bit_size: Integer(U8), value: 250 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 190 }, Const { destination: Relative(13), bit_size: Integer(U8), value: 54 }, Const { destination: Relative(14), bit_size: Integer(U8), value: 65 }, Const { destination: Relative(15), bit_size: Integer(U8), value: 18 }, Const { destination: Relative(16), bit_size: Integer(U8), value: 19 }, Const { destination: Relative(17), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(18), bit_size: Integer(U8), value: 57 }, Const { destination: Relative(19), bit_size: Integer(U8), value: 24 }, Mov { destination: Relative(20), source: Direct(1) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(21) }, IndirectConst { destination_pointer: Relative(20), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Mov { destination: Relative(22), source: Relative(21) }, Store { destination_pointer: Relative(22), source: Relative(1) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(2) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(6) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(7) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(8) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(9) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(7) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(10) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(11) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(12) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(13) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(15) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(16) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(17) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32844) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(18) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32844) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(19) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Direct(32837) }, Const { destination: Relative(21), bit_size: Field, value: 20 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 25 }, Mov { destination: Relative(25), source: Direct(0) }, Mov { destination: Relative(26), source: Relative(20) }, Mov { destination: Relative(27), source: Relative(21) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(24) }, Call { location: 801 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(22), source: Relative(26) }, Mov { destination: Relative(23), source: Relative(27) }, Load { destination: Relative(20), source_pointer: Relative(22) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 230 }, Call { location: 969 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(20) }, Const { destination: Relative(20), bit_size: Integer(U8), value: 148 }, Mov { destination: Relative(24), source: Direct(1) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(24), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(20) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(1) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(2) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(5) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(6) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(7) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(8) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(9) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(7) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(10) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(11) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(12) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(13) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(14) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(15) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(16) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(17) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32844) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(18) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32844) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(19) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Direct(32837) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 25 }, Mov { destination: Relative(25), source: Direct(0) }, Mov { destination: Relative(26), source: Relative(22) }, Mov { destination: Relative(27), source: Relative(24) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 972 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(26) }, JumpIf { condition: Relative(1), location: 313 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(1), bit_size: Field, value: 21 }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(23), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 318 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(1), bit_size: Integer(U16), value: 65523 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(3) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 325 }, Jump { location: 327 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 329 }, Mov { destination: Relative(8), source: Relative(3) }, Jump { location: 329 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(1) }, JumpIf { condition: Relative(9), location: 335 }, Jump { location: 337 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 339 }, Mov { destination: Relative(10), source: Relative(1) }, Jump { location: 339 }, BinaryIntOp { destination: Relative(5), op: Div, bit_size: U16, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 343 }, Jump { location: 345 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(12), rhs: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U16, lhs: Relative(5), rhs: Relative(1) }, BinaryIntOp { destination: Relative(2), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(6) }, Const { destination: Relative(1), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 352 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(3) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 358 }, Jump { location: 360 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 362 }, Mov { destination: Relative(8), source: Relative(3) }, Jump { location: 362 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(4) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 368 }, Jump { location: 370 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 372 }, Mov { destination: Relative(10), source: Relative(4) }, Jump { location: 372 }, BinaryIntOp { destination: Relative(5), op: Div, bit_size: U16, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 376 }, Jump { location: 378 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(12), rhs: Relative(5) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U16, lhs: Relative(5), rhs: Relative(4) }, BinaryIntOp { destination: Relative(2), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 384 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(2), bit_size: Integer(U16), value: 65525 }, Const { destination: Relative(13), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U16, lhs: Relative(13), rhs: Relative(3) }, Const { destination: Relative(14), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(15), op: Sub, bit_size: U16, lhs: Relative(14), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 391 }, Jump { location: 393 }, Mov { destination: Relative(9), source: Relative(15) }, Jump { location: 395 }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 395 }, Const { destination: Relative(13), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U16, lhs: Relative(13), rhs: Relative(2) }, Const { destination: Relative(14), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(15), op: Sub, bit_size: U16, lhs: Relative(14), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 401 }, Jump { location: 403 }, Mov { destination: Relative(11), source: Relative(15) }, Jump { location: 405 }, Mov { destination: Relative(11), source: Relative(2) }, Jump { location: 405 }, BinaryIntOp { destination: Relative(6), op: Div, bit_size: U16, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Xor, bit_size: U1, lhs: Relative(8), rhs: Relative(10) }, JumpIf { condition: Relative(12), location: 409 }, Jump { location: 411 }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(6) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U16, lhs: Relative(6), rhs: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(7) }, Const { destination: Relative(6), bit_size: Integer(U16), value: 4 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U16, lhs: Relative(5), rhs: Relative(6) }, JumpIf { condition: Relative(7), location: 418 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(1), source: Relative(5) }, Cast { destination: Relative(5), source: Relative(1), bit_size: Integer(U16) }, Cast { destination: Relative(7), source: Relative(3), bit_size: Integer(U16) }, Const { destination: Relative(8), bit_size: Integer(U16), value: 32768 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(7), rhs: Relative(8) }, Not { destination: Relative(7), source: Relative(9), bit_size: U1 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(5), rhs: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(7) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U1, lhs: Relative(5), rhs: Relative(7) }, JumpIf { condition: Relative(9), location: 430 }, Call { location: 1004 }, Const { destination: Relative(15), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U16, lhs: Relative(15), rhs: Relative(1) }, Const { destination: Relative(16), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(17), op: Sub, bit_size: U16, lhs: Relative(16), rhs: Relative(1) }, JumpIf { condition: Relative(10), location: 436 }, Jump { location: 438 }, Mov { destination: Relative(11), source: Relative(17) }, Jump { location: 440 }, Mov { destination: Relative(11), source: Relative(1) }, Jump { location: 440 }, Const { destination: Relative(15), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(12), op: LessThan, bit_size: U16, lhs: Relative(15), rhs: Relative(2) }, Const { destination: Relative(16), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(17), op: Sub, bit_size: U16, lhs: Relative(16), rhs: Relative(2) }, JumpIf { condition: Relative(12), location: 446 }, Jump { location: 448 }, Mov { destination: Relative(13), source: Relative(17) }, Jump { location: 450 }, Mov { destination: Relative(13), source: Relative(2) }, Jump { location: 450 }, BinaryIntOp { destination: Relative(7), op: Div, bit_size: U16, lhs: Relative(11), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Xor, bit_size: U1, lhs: Relative(10), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 454 }, Jump { location: 456 }, Const { destination: Relative(15), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U16, lhs: Relative(15), rhs: Relative(7) }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U16, lhs: Relative(7), rhs: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U16, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(2), bit_size: Integer(U16), value: 65532 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U16, lhs: Relative(5), rhs: Relative(2) }, JumpIf { condition: Relative(7), location: 463 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Const { destination: Relative(5), bit_size: Integer(U16), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U16, lhs: Relative(4), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(7) }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U16) }, Cast { destination: Relative(9), source: Relative(4), bit_size: Integer(U16) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U16, lhs: Relative(9), rhs: Relative(8) }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(9), rhs: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(7), rhs: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 475 }, Call { location: 1007 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(14), rhs: Relative(3) }, Const { destination: Relative(15), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U16, lhs: Relative(15), rhs: Relative(3) }, JumpIf { condition: Relative(9), location: 481 }, Jump { location: 483 }, Mov { destination: Relative(10), source: Relative(16) }, Jump { location: 485 }, Mov { destination: Relative(10), source: Relative(3) }, Jump { location: 485 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U16, lhs: Relative(14), rhs: Relative(5) }, Const { destination: Relative(15), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(16), op: Sub, bit_size: U16, lhs: Relative(15), rhs: Relative(5) }, JumpIf { condition: Relative(11), location: 491 }, Jump { location: 493 }, Mov { destination: Relative(12), source: Relative(16) }, Jump { location: 495 }, Mov { destination: Relative(12), source: Relative(5) }, Jump { location: 495 }, BinaryIntOp { destination: Relative(7), op: Div, bit_size: U16, lhs: Relative(10), rhs: Relative(12) }, BinaryIntOp { destination: Relative(13), op: Xor, bit_size: U1, lhs: Relative(9), rhs: Relative(11) }, JumpIf { condition: Relative(13), location: 499 }, Jump { location: 501 }, Const { destination: Relative(14), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U16, lhs: Relative(14), rhs: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U16, lhs: Relative(7), rhs: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U16, lhs: Relative(3), rhs: Relative(8) }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U16, lhs: Relative(6), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 507 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 513 }, Jump { location: 515 }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 517 }, Mov { destination: Relative(8), source: Relative(1) }, Jump { location: 517 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 32767 }, BinaryIntOp { destination: Relative(9), op: LessThan, bit_size: U16, lhs: Relative(12), rhs: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U16, lhs: Relative(13), rhs: Relative(5) }, JumpIf { condition: Relative(9), location: 523 }, Jump { location: 525 }, Mov { destination: Relative(10), source: Relative(14) }, Jump { location: 527 }, Mov { destination: Relative(10), source: Relative(5) }, Jump { location: 527 }, BinaryIntOp { destination: Relative(4), op: Div, bit_size: U16, lhs: Relative(8), rhs: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Xor, bit_size: U1, lhs: Relative(7), rhs: Relative(9) }, JumpIf { condition: Relative(11), location: 531 }, Jump { location: 533 }, Const { destination: Relative(12), bit_size: Integer(U16), value: 0 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U16, lhs: Relative(12), rhs: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U16, lhs: Relative(4), rhs: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Sub, bit_size: U16, lhs: Relative(1), rhs: Relative(6) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U16, lhs: Relative(2), rhs: Relative(3) }, JumpIf { condition: Relative(1), location: 539 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 545 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 540 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 553 }, Call { location: 969 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Cast { destination: Relative(5), source: Relative(2), bit_size: Integer(U32) }, Cast { destination: Relative(3), source: Relative(5), bit_size: Field }, Cast { destination: Relative(5), source: Relative(3), bit_size: Integer(U32) }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 564 }, Call { location: 969 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Direct(32842), rhs: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U1, lhs: Relative(3), rhs: Direct(32836) }, JumpIf { condition: Relative(7), location: 571 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 17 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 16 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Mov { destination: Relative(9), source: Relative(7) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 585 }, Store { destination_pointer: Relative(9), source: Direct(32837) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Jump { location: 579 }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(3), source_pointer: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U8), value: 4 }, BinaryIntOp { destination: Relative(9), op: Shr, bit_size: U8, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(11), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(12), op: Div, bit_size: U8, lhs: Relative(9), rhs: Relative(11) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U8, lhs: Relative(9), rhs: Relative(13) }, Cast { destination: Relative(11), source: Relative(10), bit_size: Integer(U1) }, Cast { destination: Relative(9), source: Relative(11), bit_size: Integer(U8) }, Cast { destination: Relative(10), source: Relative(9), bit_size: Integer(U1) }, JumpIf { condition: Relative(10), location: 660 }, Jump { location: 601 }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(6), op: LessThanEquals, bit_size: U32, lhs: Direct(32840), rhs: Relative(5) }, JumpIf { condition: Relative(6), location: 605 }, Call { location: 1004 }, Mov { destination: Relative(3), source: Direct(32838) }, Jump { location: 607 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32841) }, JumpIf { condition: Relative(5), location: 611 }, Jump { location: 610 }, Jump { location: 716 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 615 }, Jump { location: 658 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 618 }, Call { location: 1010 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Mul, bit_size: U32, lhs: Direct(32841), rhs: Relative(3) }, BinaryIntOp { destination: Relative(11), op: Shr, bit_size: U8, lhs: Relative(5), rhs: Relative(8) }, Const { destination: Relative(13), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(14), op: Div, bit_size: U8, lhs: Relative(11), rhs: Relative(13) }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U8, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U8, lhs: Relative(11), rhs: Relative(15) }, Load { destination: Relative(11), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32835) }, JumpIf { condition: Relative(13), location: 631 }, Call { location: 1010 }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1013 }, Mov { destination: Relative(13), source: Direct(32773) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(12), op: LessThanEquals, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, JumpIf { condition: Relative(12), location: 642 }, Call { location: 1007 }, Const { destination: Relative(12), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(14), op: Div, bit_size: U8, lhs: Relative(5), rhs: Relative(12) }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U8, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U8, lhs: Relative(5), rhs: Relative(15) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(11), rhs: Direct(32835) }, JumpIf { condition: Relative(5), location: 649 }, Call { location: 1010 }, Mov { destination: Direct(32771), source: Relative(13) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1013 }, Mov { destination: Relative(5), source: Direct(32773) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Store { destination_pointer: Relative(14), source: Relative(10) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Jump { location: 658 }, Mov { destination: Relative(3), source: Relative(6) }, Jump { location: 607 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(11), op: Div, bit_size: U8, lhs: Relative(3), rhs: Relative(10) }, BinaryIntOp { destination: Relative(12), op: Mul, bit_size: U8, lhs: Relative(11), rhs: Relative(10) }, BinaryIntOp { destination: Relative(6), op: Sub, bit_size: U8, lhs: Relative(3), rhs: Relative(12) }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 17 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 708 }, Call { location: 969 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Mov { destination: Relative(4), source: Direct(32840) }, Jump { location: 712 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(3), location: 723 }, Jump { location: 715 }, Jump { location: 716 }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(3), bit_size: Field, value: 2 }, BinaryFieldOp { destination: Relative(4), op: Mul, lhs: Relative(3), rhs: Relative(2) }, Cast { destination: Relative(2), source: Relative(9), bit_size: Field }, BinaryFieldOp { destination: Relative(5), op: Add, lhs: Relative(4), rhs: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Sub, lhs: Relative(5), rhs: Relative(3) }, Return, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(5) }, JumpIf { condition: Relative(3), location: 726 }, Jump { location: 766 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U32, lhs: Direct(32841), rhs: Relative(4) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(11), op: LessThanEquals, bit_size: U32, lhs: Direct(32840), rhs: Relative(6) }, JumpIf { condition: Relative(11), location: 734 }, Call { location: 1004 }, BinaryIntOp { destination: Relative(11), op: Shr, bit_size: U8, lhs: Relative(3), rhs: Relative(8) }, Const { destination: Relative(13), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(14), op: Div, bit_size: U8, lhs: Relative(11), rhs: Relative(13) }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U8, lhs: Relative(14), rhs: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U8, lhs: Relative(11), rhs: Relative(15) }, Load { destination: Relative(11), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(13), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Direct(32835) }, JumpIf { condition: Relative(13), location: 743 }, Call { location: 1010 }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1013 }, Mov { destination: Relative(13), source: Direct(32773) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(12) }, Const { destination: Relative(11), bit_size: Integer(U8), value: 16 }, BinaryIntOp { destination: Relative(12), op: Div, bit_size: U8, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(14), op: Mul, bit_size: U8, lhs: Relative(12), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Sub, bit_size: U8, lhs: Relative(3), rhs: Relative(14) }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32835) }, JumpIf { condition: Relative(3), location: 757 }, Call { location: 1010 }, Mov { destination: Direct(32771), source: Relative(13) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 17 }, Call { location: 1013 }, Mov { destination: Relative(3), source: Direct(32773) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(6) }, Store { destination_pointer: Relative(12), source: Relative(10) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Jump { location: 766 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, Mov { destination: Relative(4), source: Relative(3) }, Jump { location: 712 }, Call { location: 540 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 779 }, Call { location: 969 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32838) }, Jump { location: 783 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 788 }, Jump { location: 786 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 783 }, Call { location: 540 }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 808 }, Call { location: 969 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Cast { destination: Relative(7), source: Relative(2), bit_size: Integer(U8) }, Cast { destination: Relative(5), source: Relative(7), bit_size: Field }, Cast { destination: Relative(7), source: Relative(5), bit_size: Integer(U8) }, Const { destination: Relative(5), bit_size: Integer(U8), value: 32 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U8, lhs: Relative(5), rhs: Relative(7) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U1, lhs: Relative(8), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 819 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 32 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Mov { destination: Relative(10), source: Relative(8) }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 833 }, Store { destination_pointer: Relative(10), source: Direct(32837) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Jump { location: 827 }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(9), bit_size: Field, value: 0 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(2), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 963 }, Jump { location: 840 }, Const { destination: Relative(10), bit_size: Integer(U8), value: 31 }, BinaryIntOp { destination: Relative(11), op: LessThan, bit_size: U8, lhs: Relative(7), rhs: Relative(10) }, JumpIf { condition: Relative(11), location: 848 }, Jump { location: 844 }, Const { destination: Relative(1), bit_size: Field, value: 32 }, Mov { destination: Relative(6), source: Relative(5) }, Mov { destination: Relative(9), source: Relative(1) }, Jump { location: 941 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U8, lhs: Direct(32844), rhs: Relative(7) }, BinaryIntOp { destination: Relative(11), op: LessThanEquals, bit_size: U8, lhs: Direct(32844), rhs: Relative(10) }, JumpIf { condition: Relative(11), location: 852 }, Call { location: 1007 }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(11) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(12), source: Relative(11) }, Store { destination_pointer: Relative(12), source: Relative(10) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32837) }, Store { destination_pointer: Relative(8), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(7) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 928 }, Call { location: 969 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Mov { destination: Relative(5), source: Direct(32840) }, Jump { location: 932 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Direct(32843) }, JumpIf { condition: Relative(7), location: 944 }, Jump { location: 935 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(5), bit_size: Field, value: 1 }, BinaryFieldOp { destination: Relative(7), op: Add, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(9), source: Relative(7) }, Jump { location: 941 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(9) }, Jump { location: 966 }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Relative(7), rhs: Direct(32843) }, JumpIf { condition: Relative(10), location: 948 }, Call { location: 1010 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(7) }, Load { destination: Relative(10), source_pointer: Relative(12) }, Load { destination: Relative(7), source_pointer: Relative(8) }, Mov { destination: Direct(32771), source: Relative(7) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 33 }, Call { location: 1013 }, Mov { destination: Relative(11), source: Direct(32773) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(5) }, Store { destination_pointer: Relative(13), source: Relative(10) }, Store { destination_pointer: Relative(8), source: Relative(11) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 932 }, Mov { destination: Relative(3), source: Relative(5) }, Mov { destination: Relative(4), source: Relative(2) }, Jump { location: 966 }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(4) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 540 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 982 }, Call { location: 969 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(5) }, Mov { destination: Relative(3), source: Direct(32838) }, Jump { location: 986 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32843) }, JumpIf { condition: Relative(5), location: 991 }, Jump { location: 989 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Return, Load { destination: Relative(5), source_pointer: Relative(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Load { destination: Relative(7), source_pointer: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(6), rhs: Relative(7) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, Mov { destination: Relative(3), source: Relative(5) }, Jump { location: 986 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 2920182694213909827 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32775), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32775), location: 1017 }, Jump { location: 1019 }, Mov { destination: Direct(32773), source: Direct(32771) }, Jump { location: 1034 }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32773) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1031 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1024 }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32774), op: Sub, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Jump { location: 1034 }, Return]" ], - "debug_symbols": "tdvLbtzGEoDhd9FaC1Zf6uJXCYxAcZRAgCAbin2Ag8Dvni52/xxnYSNpIZv071jzicNhcWZI+M+7Xx9/+fL7z08vv3384+7dT3/e/fL69Pz89PvPzx8/PHx++vgy/u+fd0f+p+vdO7m/6zYXn0ucix5zkbmUudS5tLn0u3dlLDoXm4vPJc7FhlLHInMZShtLnctQ+lj6XHQuQ9Gx+FziXHwoNhaZS5lLnUubS5+LzsXm4nOJc4mpxFRiKjGVmEpMJaYSQ/Gx+FziXOQ41iprLWuta21r7WvVtdpafa3Lk+XJ8mR5sjxZnixPlifDi1x9rTHXcqxV1lrWWtfa1trXqmtdXsnD4MiIFfUghChEJRrRCSWMQK7IDbkhN+SG3JAbckNuyA25IXfkjtyRO3JH7sgduSN35I6syIqsyIqsyIqsyIqsyIpsyIZsyIZsyIZsyIZsyIbsyI7syI7syI7syI7syI4cyIEcyIEcyIEcyIEcyLHkchyEEIWoRCM6oYQRTiALsiALsiDn1IlkdEIJI5yIFTl7M4QoRCWQC3JBLsgFuSBX5Ip8zmDJqEQjOqGEEU7EinMGzxACuSE35IbckBtyQ27IHbkjd+SO3JE7ckfuyB25IyuyIiuyIiuyIiuyIiuyIhuyIRuyIRuyIRuyIRuyITuyIzuyIzuyIzuyIzuyIwdyIAdyIAdyIAdyIAdyLLkeByFEyjWjEo3ohBJGOBErzhk8QwjkcwZbRiM6oYQRKfeMWHHO4BlCFKISjeiEEkYgF+SKXJErckWuyBW5IlfkilyRG3JDbsgNuSE35IZ8zqBmOBErzhk8Q4iULaMSjeiEEkY4ESvOGTxDCGRFVmRFVmRFVmRFNmRDNmRDNmRDNmRDNmRDPmfQM4QoRCVSjoxOKGGEE7HinMEzhChEJZADOZADOZBjye04CCEKUYlGdEIJI5xAFmRBFuScwXJkNKITShiRH/klI1bkDM4QohCVaEQnlDACuSDnDJaSIUQhKtGITihhhBOxoiE35IbckBtyQ27IDbkhN+SO3JE7ckfuyB25I3fknMFSM2JFzuAMIQqRcstoRCeUMMKJWJEzOEOIQiAbcs5g6RlKGOFErMgZnCFEISrRCGRHdmRHduRADuRADuRADuRADuRAjiX34yCEKETKmtGITiiRsmU4EStyBmcIUYhKNKITSiALsiAX5IJckAtyQS7IBbkgF+SCXJErckWuyBX5nEHPUMIIX3HOTmQ4ESvO2TlDiEJUohHjd9UjQwkjnIgVOTszhChEJRqBnLNT8ypJzs4MJ2LFedHjjJRLRiEq0YhOKGGEE7EiZ2cGsiM7siM7siM7cs5OrRmxImentgwhUs6jN2dnRiM6kXK+yjk7M3yG5qRUzyhEJRqRj4q8yDR+uB0ZeYXovOw0fkXL60h5qM8wYvyKVjNiRR7qM9JpGen0jLzWlNuTh/qMTiiRsmY4ESvyUJ+Rcm5zHuozKtGITihhRMr5TPPt5ox8u5khxJB77oR8u5nRiE7kVbLzCpwRTsTadTkyM4Rgr+bIzGhEJ3RFzkU/L+sJUYhK5IblDs+5mKGEEU7EipyLGUIUohLIhmzIhmzIhuzIjuzIjuzIjuzIjuzIjhzIgRzIgRzIgRzIgRzIsWQ7DkKIlPPCaE7KjEZ0QgkjnIgVgiPrNbWcnZ5XV3N2ZuQP5xXWnJ1uGbkZnpG/PTLGw/XIMMKJvDCbcg6I5oXeHJAZhajEeBaaTzAHRPO354DMMMKJlM+rwwchRCFSzo3PAZnRCSWMcCJW5IBoPuUckBmFqETKuTdyQGYokXLun3xPmRErcnZmCFGISjRCV+RcWO7VnIsZhcjL07mfcy5mdEIJI5yIFeeF8zNwzgvk+aI4P3xeHc9X57w+foYQuRm5w8+r5Gc0IjfjvEIPmIf6DJ/heTxbXn/P43lGIzqhhBFOxIr8jGSeIUQhUo6MRnRCCSOcyEvvR95JOAghClGJRnRCCSOcQK7IFbkiV+SKXJFzLlwybEVOgefOzCmYkb+rZsSKPJ5nCJG/q2VUohGdUMIIJ2JFHs8zhEBWZEVWZEVWZEVWZEM2ZEM2ZEM2ZEM2ZEM2ZEd2ZEd2ZEd2ZEd2ZEd25EAO5EAO5EAO5EAO5ECOJcdxEEIUohKN6IQSRjiBLMiCLMiCLMiCLMiCLMiCXJAL8jk7PaMSjeiEEkY4ESsqzjkXmpGPOu/W2Yo883velcsz/wwljEg5MmLFOSlnCFHWrzgn5YxG8NvPSTnDCCdixTkpZ9Q5uXHOxRmdUMIIJ2LFORcZefTGkVGISqz3gvBOKGGEE+u9IOIghMDh1B2xfnjc5FxvBqPkqnLVej8Y1a7qV+UdxakseJRflb+jfP16f8cN6Z8/vz4+5v3ob+5Qj/vWnx5eH18+3717+fL8fH/3v4fnL+cP/fHp4eVcPz+8jr8dO+Tx5dexDvC3p+fHrK/3t0cf33/ouF2j69HjPo1eQP8XQn59WUKzLSH39xJsU7htg/ctIUdqCVG3hOgI417BjjBuKNyE2BKiIYyLnXt78rgJW9ugej2L8U1oR7C81DeF8fF2Qxi3aDgexj7dejVN7RKab21DflJegm89i/ECIIxLzm8VimwJtV9CO94s9C2h356F6lsF29sPfnsWbm8Vts4wfxd2ZnPc+Lr2w7g8uSe0m7D1anapbxVULsG29mRv8UYhAMbNqY3Ht8ZLOW5pvO3xW9vfru3vW2f5fp3k+9Y8ffv4nYnuXa7Hf3ca88TzPUCMzz3iZWcDgsePS68bj88Pi2zAUXa2IIxdGLYzyhHlbRsgUi9BWmzthH7bCbq3G69JHoJsCX4dCUdsCXLYtR+kbm3D9dlxCN99MfMq/H91PI/ncNuRsXk4xO1w8C1B2yXY3jb02yG5dWLUaz/q1sGg1wbo1uFowi6wsvPmKOV6i5fxdWBLaPUStt6c/rYNPd4q6M7raNeTsK0vIXZ9kxrXcDce74Vzwrjq+cbH77xB+nUc+tZr6O24Hv/dVzDH9b86IXm5NqDuvIBxvb/G1jl5XM+8Hr/z9up2vYCx9c721hN6+HUyHZe5bsI//gp8XF8ey/HtmeSfA3IDvr229M+Bety2wN+6Bd97CvaDj4ml8yW++NY7exG7nY6Pf/8UpPp1JmzHziBIvS5E7Aq3r/AjdUvoxyVsnY+lNz7xS9e2JcS1DSpb763drv3Qty4CiNbrtdC9j8x6+4ykW1+dxueiSxj3gbe24boQIbp3ctPbp829z1ni1zdY+cEJ/kez/YPZfD/+8PDh6fVv/2Dsa1KvTw+/PD+uP/725eXDN3/7+f+f+Bv+wdmn148fHn/98vqY0u1fnY3//DS+dcn9+P5S3t/fjXsJP9V63+r7vD0w/tDH229vPf8o589KGT8r7f3X3Li/AA==", + "debug_symbols": "tdvbjhS3FoDhd5lrLmr5sA55lSiKSDLZQkKACGxpK+Ldt5ftv5pcgBKPcoP/gamvq6vL1d0u8efTb8+/fP7Pz2/e/f7+j6cffvzz6ZePb96+ffOfn9++//X1pzfv342//fPpyj+6Pv0gr566rcHXEHPQaw2yhrKGuoa2hv70QxmDrsHW4GuIOdhQ6hhkDUNpY6hrGEofQ1+DrmEoOgZfQ8zBh2JjkDWUNdQ1tDX0NegabA2+hphDLCWWEkuJpcRSYimxlBiKj8HXEHOQ69qj7LHsse6x7bHvUfdoe/Q9bk+2J9uT7cn2ZHuyPdmeDC9y9D3GGsu1R9lj2WPdY9tj36PucXslT4MrI3bUixCiEJVoRCeUMAK5IjfkhtyQG3JDbsgNuSE35IbckTtyR+7IHbkjd+SO3JE7siIrsiIrsiIrsiIrsiIrsiEbsiEbsiEbsiEbsiEbsiM7siM7siM7siM7siM7ciAHciAHciAHciAHciDHlst1EUIUohKN6IQSRjiBLMiCLMiCnLNOJKMTShjhROzIubdCiEJUArkgF+SCXJALckWuyHMOloxKNKITShjhROyYc3CGEMgNuSE35IbckBtyQ+7IHbkjd+SO3JE7ckfuyB1ZkRVZkRVZkRVZkRVZkRXZkA3ZkA3ZkA3ZkA3ZkA3ZkR3ZkR3ZkR3ZkR3ZkR05kAM5kAM5kAM5kAM5kGPL9boIIVKuGZVoRCeUMMKJ2DHn4AwhkOccbBmN6IQSRqTcM2LHnIMzhChEJRrRCSWMQC7IFbkiV+SKXJErckWuyBW5IjfkhtyQG3JDbsgNec5BzXAidsw5OEOIlC2jEo3ohBJGOBE75hycIQSyIiuyIiuyIiuyIhuyIRuyIRuyIRuyIRuyIc856BlCFKISKUdGJ5QwwonYMefgDCEKUQnkQA7kQA7k2HK7LkKIQlSiEZ1QwggnkAVZkAU552C5MhrRCSWMyI/8khE7cg6uEKIQlWhEJ5QwArkg5xwsJUOIQlSiEZ1QwggnYkdDbsgNuSE35IbckBtyQ27IHbkjd+SO3JE7ckfuyDkHS82IHTkHVwhRiJRbRiM6oYQRTsSOnIMrhCgEsiHnHCw9QwkjnIgdOQdXCFGISjQC2ZEd2ZEdOZADOZADOZADOZADOZBjy/26CCEKkbJmNKITSqRsGU7EjpyDK4QoRCUa0QklkAVZkAtyQS7IBbkgF+SCXJALckGuyBW5IlfkijznoGcoYYTvmHMnMpyIHXPuzBCiEJVoxHisemUoYYQTsSPnzgohClGJRiDn3Km5SpJzZ4UTsWMuesxIuWQUohKN6IQSRjgRO3LurEB2ZEd2ZEd2ZEfOuVNrRuzIuVNbhhAp59mbc2dFIzqRcr7KOXdW+ArNmVI9oxCVaERuFbnINH65XRm5QjSXncZDtFxHylN9hRHjIVrNiB15qq9Ip2Wk0zNyrSn3J0/1FZ1QImXNcCJ25Km+IuXc5zzVV1SiEZ1QwoiU85nm282MfLtZIcSQex6EfLtZ0YhO5CrZXIEzwonYhy6nzAohOKo5ZVY0ohO6I+dFn8t6QhSiErljecBzXqxQwggnYkfOixVCFKISyIZsyIZsyIbsyI7syI7syI7syI7syI4cyIEcyIEcyIEcyIEcyLFluy5CiJRzYTRnyopGdEIJI5yIHYIj+zW1nDs9V1dz7qzIX84V1pw73TJyNzwjHz0yxuZ6ZRjhRC7MppwTRHOhNyfIikJUYjwLzSeYE0Tz0XOCrDDCiZTn6vBFCFGIlHPnc4Ks6IQSRjgRO3KCaD7lnCArClGJlPNo5ARZoUTKeXzyPWVF7Mi5s0KIQlSiEboj54XlUc15saIQuTydxznnxYpOKGGEE7FjLpzPwJkL5PmiOL88V8fz1Znr4zOEyN3IAz5XyWc0IndjrtAD5qm+wld4ns+W6+95Pq9oRCeUMMKJ2JGfkcwzhChEypHRiE4oYYQTufR+5Z2EixCiEJVoRCeUMMIJ5IpckStyRa7IFTnnhUuG7chZ4HkwcxasyMeqGbEjz+cVQuRjtYxKNKITShjhROzI83mFEMiKrMiKrMiKrMiKbMiGbMiGbMiGbMiGbMiG7MiO7MiO7MiO7MiO7MiOHMiBHMiBHMiBHMiBHMix5bguQohCVKIRnVDCCCeQBVmQBVmQBVmQBVmQBVmQC3JBnnOnZ1SiEZ1QwggnYkfFmfNCM3KrebfOduSV3/OuXF75VyhhRMqRETvmTJkhRNkPMWfKjEbw6HOmzDDCidgxZ0pGnr1xZTSiE/uKHVyxgyt2cMUOrtgxb3bOKEQlcOalu+StSX55XrFrRiUa0delO+YVe4YReQtxbr7BcZPzuivt8uXLqyduIP/86ePzc94//uqO8rjP/OH1x+d3n55+ePf57dtXT/99/fbz/KU/Prx+N8dPrz+Ofx0H4vndb2Mc4O9v3j5nfXn12Pr69qbj9orurcd9Fb2B/g+E/LqxhWZHQh7nLdih8NgH70dCToEtRD0SoiOMtf0TYdwAeAhxJERDGIuTZ0fyeghH+6B6P4vxzeVEsFyaW8L4OHogjFsqnA/jmB69mqZ2C82P9iE/2W7Bj57FeAEQxhLxS4UiR0Ltt9CuFwv9SOiPZ6H6UsHOjoM/noXbS4WjK8xfhZO5OW5U3cdhLCeeCe0hHL2aXepLBZVbsKMj2Vu8UAiAcTPpYPvWeCnHLYiXbX+0/+3e/350le/3Rb4fzaevtz+Z0b3Lvf03Z2NeeL4FiPG5R7yc7ECw/VgqPdh+fAjkFZSrnOxBGIdwfC4+2T7Ky3ZApN6CtDg6CP1xEPTsMN4zeQhyJPh9JlxxJMhl93GQerQP92fHIXzzxcxV83/rfB7P4XEg4/B0iMfp4EeCtluws33oj1Py6MKo93HUo5NB7x3Qo9PRhENg5eTNUcr9Fi/j68CR0OotHL05/WUferxU0JPX0e4nYUdfQuz+JjXWXA+298I1YaxSvnD7kzdIv89DP3oNvV339t98BXO6/lsXJC/3DtSTFzDu99c4uiaP9cd7+5O3V7f7BYyjd7aXXtDD74vpWLF6CH/7K/B1f3ks19dXkr8PyAP4em3p7wP1euyBv3QPvvUU7DsfE0vnS3zxo3f2Iva4HF///ClI9ftK2K6TiSD1Xog4FR5f4UfqkdCvWzi6HktvfOKXru1IiHsfVI7eW7vdx6EfLQKI1vu10LOPzPr4jKRHX53G56JbGPdtj/bhXogQPbu46ePT5tnnLPH7G6x85wL/vbn9nbn50/jh9a9vPv7lP3h9Serjm9e/vH3eP/7++d2vX/3rp/994F/4D2IfPr7/9fm3zx+fU3r8L7Hxx49yjYUQuWr76dXTuLPwY62vWv0pbw+MH/p4++2t548yf/dq43cv/elL7tz/AQ==", "file_map": { "5": { "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for str {\n fn eq(self, other: str) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use crate::cmp::{max, min};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 4a432f86bb8..817e63f39d2 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -31,9 +31,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32842 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32842), size_address: Relative(1), offset_address: Relative(2) }, Call { location: 11 }, Call { location: 19 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32842 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 4 }, Return, Call { location: 1131 }, Const { destination: Relative(1), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 114 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(4) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 97 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 101 }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(9), source: Relative(8) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U8), value: 121 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 2 }, 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(8) }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 61 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 69 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 77 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 85 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(10), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(1) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 20 }, Mov { destination: Relative(20), source: Direct(0) }, Mov { destination: Relative(21), source: Relative(3) }, Mov { destination: Relative(22), source: Relative(5) }, Mov { destination: Relative(23), source: Relative(7) }, Mov { destination: Relative(24), source: Relative(9) }, Mov { destination: Relative(25), source: Direct(32841) }, Mov { destination: Relative(26), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(19) }, Call { location: 1140 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Load { destination: Relative(10), source_pointer: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 128 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(10) }, Const { destination: Relative(10), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 109 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 77 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 102 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(40), bit_size: Integer(U8), value: 93 }, Const { destination: Relative(41), bit_size: Integer(U8), value: 95 }, Const { destination: Relative(42), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(43), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(44), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(45), bit_size: Integer(U8), value: 118 }, Const { destination: Relative(46), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(47), bit_size: Integer(U8), value: 56 }, Mov { destination: Relative(48), source: Direct(1) }, Const { destination: Relative(49), bit_size: Integer(U32), value: 204 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(49) }, IndirectConst { destination_pointer: Relative(48), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(49), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, Mov { destination: Relative(50), source: Relative(49) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(32) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(37) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(41) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(43) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(44) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(45) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(8) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(46) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(47) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(21) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(4), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 579 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Direct(32841) }, JumpIf { condition: Relative(4), location: 583 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(10), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), 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(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(2) }, 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(8) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(3) }, Mov { destination: Relative(51), source: Relative(5) }, Mov { destination: Relative(52), source: Relative(7) }, Mov { destination: Relative(53), source: Relative(9) }, Mov { destination: Relative(54), source: Direct(32841) }, Mov { destination: Relative(55), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1140 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(50) }, Mov { destination: Relative(6), source: Relative(51) }, Mov { destination: Relative(8), source: Relative(52) }, Mov { destination: Relative(10), source: Relative(53) }, Load { destination: Relative(3), source_pointer: Relative(10) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 624 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(48) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 632 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(3) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(15) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(1)), MemoryAddress(Relative(6)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(3), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(9), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 643 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32841) }, JumpIf { condition: Relative(1), location: 647 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Relative(3) }, Store { destination_pointer: Relative(6), source: Relative(29) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(35) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(28) }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, 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(2) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 680 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(3) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 688 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(7) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 696 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(15) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(21) }, Call { location: 1232 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(50) }, Mov { destination: Relative(17), source: Relative(51) }, Mov { destination: Relative(18), source: Relative(52) }, Mov { destination: Relative(20), source: Relative(53) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(7) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 741 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(48) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(7) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 749 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(7) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Load { destination: Relative(23), source_pointer: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(25) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), MemoryAddress(Relative(18)), HeapVector(HeapVector { pointer: Relative(7), size: Relative(23) }), HeapArray(HeapArray { pointer: Relative(24), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(16), location: 760 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, JumpIf { condition: Relative(7), location: 764 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(28) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(2) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1232 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(16), source: Relative(51) }, Mov { destination: Relative(17), source: Relative(52) }, Mov { destination: Relative(18), source: Relative(53) }, Load { destination: Relative(1), source_pointer: Relative(18) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 809 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(48) }, 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: 817 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(1) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(23) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(1), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 828 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(2) }, JumpIf { condition: Relative(1), location: 832 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(7) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Direct(32840) }, Mov { destination: Relative(51), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(18) }, Call { location: 1323 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(7), source: Relative(50) }, Mov { destination: Relative(15), source: Relative(51) }, Mov { destination: Relative(16), source: Relative(52) }, Mov { destination: Relative(17), source: Relative(53) }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(18) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 868 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(48) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(18) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 876 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(18) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Load { destination: Relative(24), source_pointer: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(26) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(7)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), HeapVector(HeapVector { pointer: Relative(18), size: Relative(24) }), HeapArray(HeapArray { pointer: Relative(25), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(7), location: 887 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Direct(32836) }, JumpIf { condition: Relative(7), location: 891 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(1) }, Load { destination: Relative(15), source_pointer: Relative(2) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 904 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(15) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(25) }, Call { location: 1372 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(17), source: Relative(51) }, Mov { destination: Relative(18), source: Relative(52) }, Mov { destination: Relative(24), source: Relative(53) }, Load { destination: Relative(25), source_pointer: Relative(24) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(25) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 924 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(25) }, Load { destination: Relative(25), source_pointer: Relative(48) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(25) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 932 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(25) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Load { destination: Relative(28), source_pointer: Relative(29) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(30) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(17)), MemoryAddress(Relative(18)), HeapVector(HeapVector { pointer: Relative(25), size: Relative(28) }), HeapArray(HeapArray { pointer: Relative(29), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 943 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Direct(32836) }, JumpIf { condition: Relative(15), location: 947 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, Load { destination: Relative(15), source_pointer: Relative(7) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 953 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(15) }, Load { destination: Relative(15), source_pointer: Relative(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(15) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 961 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(15) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(29) }, Call { location: 1378 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(24), source: Relative(51) }, Mov { destination: Relative(25), source: Relative(52) }, Mov { destination: Relative(28), source: Relative(53) }, Load { destination: Relative(29), source_pointer: Relative(28) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(31), op: Equals, bit_size: U32, lhs: Relative(30), rhs: Relative(29) }, Not { destination: Relative(31), source: Relative(31), bit_size: U1 }, JumpIf { condition: Relative(31), location: 981 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(28), source: Relative(29) }, Load { destination: Relative(29), source_pointer: Relative(48) }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(32), op: Equals, bit_size: U32, lhs: Relative(31), rhs: Relative(29) }, Not { destination: Relative(32), source: Relative(32), bit_size: U1 }, JumpIf { condition: Relative(32), location: 989 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(29) }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Load { destination: Relative(32), source_pointer: Relative(33) }, Const { destination: Relative(34), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(33), rhs: Relative(34) }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(24)), MemoryAddress(Relative(25)), HeapVector(HeapVector { pointer: Relative(29), size: Relative(32) }), HeapArray(HeapArray { pointer: Relative(33), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 1000 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Direct(32838) }, JumpIf { condition: Relative(15), location: 1004 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, Load { destination: Relative(15), source_pointer: Relative(7) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(15) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1010 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(15) }, Load { destination: Relative(15), source_pointer: Relative(2) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(15) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1018 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(15) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(33) }, Call { location: 1412 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(28), source: Relative(51) }, Mov { destination: Relative(29), source: Relative(52) }, Mov { destination: Relative(32), source: Relative(53) }, Load { destination: Relative(2), source_pointer: Relative(32) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(34), op: Equals, bit_size: U32, lhs: Relative(33), rhs: Relative(2) }, Not { destination: Relative(34), source: Relative(34), bit_size: U1 }, JumpIf { condition: Relative(34), location: 1038 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(32), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(48) }, Const { destination: Relative(34), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(35), op: Equals, bit_size: U32, lhs: Relative(34), rhs: Relative(2) }, Not { destination: Relative(35), source: Relative(35), bit_size: U1 }, JumpIf { condition: Relative(35), location: 1046 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(2) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(32), rhs: Direct(2) }, Load { destination: Relative(35), source_pointer: Relative(36) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(36), rhs: Relative(37) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(28)), MemoryAddress(Relative(29)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(35) }), HeapArray(HeapArray { pointer: Relative(36), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 1057 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Direct(32839) }, JumpIf { condition: Relative(2), location: 1061 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Load { destination: Relative(2), source_pointer: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(2) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1067 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(28), rhs: Relative(32) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(29) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(28) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(28) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(29) }, Mov { destination: Relative(29), source: Relative(28) }, Store { destination_pointer: Relative(29), source: Relative(1) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(1) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(1) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32841) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(35) }, Call { location: 1497 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(50) }, Mov { destination: Relative(28), source: Relative(51) }, Mov { destination: Relative(29), source: Relative(52) }, Mov { destination: Relative(32), source: Relative(53) }, Load { destination: Relative(2), source_pointer: Relative(32) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(35), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(2) }, Not { destination: Relative(35), source: Relative(35), bit_size: U1 }, JumpIf { condition: Relative(35), location: 1107 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(32), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(48) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(36), op: Equals, bit_size: U32, lhs: Relative(35), rhs: Relative(2) }, Not { destination: Relative(36), source: Relative(36), bit_size: U1 }, JumpIf { condition: Relative(36), location: 1115 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(2) }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(32), rhs: Direct(2) }, Load { destination: Relative(36), source_pointer: Relative(37) }, Const { destination: Relative(38), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(37), rhs: Relative(38) }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(1)), MemoryAddress(Relative(28)), MemoryAddress(Relative(29)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(36) }), HeapArray(HeapArray { pointer: Relative(37), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 1126 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Direct(32840) }, JumpIf { condition: Relative(1), location: 1130 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1136 }, 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, Call { location: 1131 }, Load { destination: Relative(11), source_pointer: Relative(1) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1147 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(11) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1155 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(11) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 18 }, Mov { destination: Relative(18), source: Direct(0) }, Mov { destination: Relative(19), source: Relative(1) }, Mov { destination: Relative(20), source: Relative(5) }, Mov { destination: Relative(21), source: Relative(6) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(17) }, Call { location: 1569 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, JumpIf { condition: Relative(11), location: 1176 }, Jump { location: 1171 }, Mov { destination: Relative(7), source: Direct(32835) }, Mov { destination: Relative(8), source: Direct(32836) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(10), source: Relative(6) }, Jump { location: 1227 }, Load { destination: Relative(17), source_pointer: Relative(16) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(17) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1182 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(17) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 23 }, Mov { destination: Relative(23), source: Direct(0) }, Mov { destination: Relative(24), source: Relative(2) }, Mov { destination: Relative(25), source: Relative(3) }, Mov { destination: Relative(26), source: Relative(4) }, Mov { destination: Relative(27), source: Relative(15) }, Mov { destination: Relative(28), source: Relative(16) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(22) }, Call { location: 1692 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(17), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, Mov { destination: Relative(20), source: Relative(26) }, Mov { destination: Relative(21), source: Relative(27) }, JumpIf { condition: Relative(17), location: 1213 }, Jump { location: 1200 }, Load { destination: Relative(2), source_pointer: Relative(6) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1206 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(2) }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(11), source: Direct(32836) }, Mov { destination: Relative(12), source: Relative(5) }, Mov { destination: Relative(13), source: Relative(6) }, Jump { location: 1222 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(19) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 1217 }, Call { location: 1791 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(11), source: Relative(2) }, Mov { destination: Relative(12), source: Relative(20) }, Mov { destination: Relative(13), source: Relative(21) }, Jump { location: 1222 }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(11) }, Mov { destination: Relative(9), source: Relative(12) }, Mov { destination: Relative(10), source: Relative(13) }, Jump { location: 1227 }, Mov { destination: Relative(4), source: Relative(10) }, Mov { destination: Relative(1), source: Relative(7) }, Mov { destination: Relative(2), source: Relative(8) }, Mov { destination: Relative(3), source: Relative(9) }, Return, Call { location: 1131 }, Load { destination: Relative(10), source_pointer: Relative(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1239 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1247 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 17 }, Mov { destination: Relative(17), source: Direct(0) }, Mov { destination: Relative(18), source: Relative(1) }, Mov { destination: Relative(19), source: Relative(4) }, Mov { destination: Relative(20), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(16) }, Call { location: 1794 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Mov { destination: Relative(15), source: Relative(21) }, JumpIf { condition: Relative(10), location: 1268 }, Jump { location: 1263 }, Mov { destination: Relative(6), source: Direct(32835) }, Mov { destination: Relative(7), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1318 }, Load { destination: Relative(16), source_pointer: Relative(15) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(16) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1274 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(16) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 22 }, Mov { destination: Relative(22), source: Direct(0) }, Mov { destination: Relative(23), source: Relative(2) }, Mov { destination: Relative(24), source: Relative(3) }, Mov { destination: Relative(25), source: Relative(14) }, Mov { destination: Relative(26), source: Relative(15) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(21) }, Call { location: 1890 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, Mov { destination: Relative(20), source: Relative(26) }, JumpIf { condition: Relative(16), location: 1304 }, Jump { location: 1291 }, Load { destination: Relative(2), source_pointer: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1297 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(10), source: Direct(32836) }, Mov { destination: Relative(11), source: Relative(4) }, Mov { destination: Relative(12), source: Relative(5) }, Jump { location: 1313 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(18) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 1308 }, Call { location: 1791 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(10), source: Relative(2) }, Mov { destination: Relative(11), source: Relative(19) }, Mov { destination: Relative(12), source: Relative(20) }, Jump { location: 1313 }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Relative(10) }, Mov { destination: Relative(8), source: Relative(11) }, Mov { destination: Relative(9), source: Relative(12) }, Jump { location: 1318 }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(9) }, Return, Call { location: 1131 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Mov { destination: Relative(3), source: Direct(32836) }, Jump { location: 1338 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(2), location: 1350 }, Jump { location: 1341 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(4), source_pointer: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Mov { destination: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(5) }, Return, Load { destination: Relative(2), source_pointer: Relative(4) }, JumpIf { condition: Relative(2), location: 1353 }, Jump { location: 1369 }, Load { destination: Relative(2), source_pointer: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Load { destination: Relative(8), source_pointer: Relative(7) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1361 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(5) }, Store { destination_pointer: Relative(4), source: Direct(32837) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Store { destination_pointer: Relative(6), source: Relative(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Jump { location: 1369 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, Mov { destination: Relative(3), source: Relative(2) }, Jump { location: 1338 }, Call { location: 1131 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(4), source: Relative(3) }, Mov { destination: Relative(3), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(32836) }, Return, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1385 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Load { destination: Relative(4), 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(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1393 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(13) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(9) }, Return, Call { location: 1131 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1427 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(3) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1435 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(8) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(1) }, Mov { destination: Relative(17), source: Relative(2) }, Mov { destination: Relative(18), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(8), source: Relative(16) }, Mov { destination: Relative(11), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(11) }, Store { destination_pointer: Relative(6), source: Relative(12) }, Store { destination_pointer: Relative(7), source: Relative(13) }, JumpIf { condition: Relative(8), location: 1455 }, Jump { location: 1492 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1461 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(13) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1469 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(19), source: Relative(13) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(17) }, Mov { destination: Relative(9), source: Relative(18) }, Mov { destination: Relative(10), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(12), op: LessThanEquals, bit_size: U32, lhs: Relative(11), rhs: Relative(1) }, JumpIf { condition: Relative(12), location: 1487 }, Call { location: 1791 }, Store { destination_pointer: Relative(4), source: Relative(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Store { destination_pointer: Relative(6), source: Relative(10) }, Store { destination_pointer: Relative(7), source: Relative(14) }, Jump { location: 1492 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Return, Call { location: 1131 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32837) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Direct(32836) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 1512 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, JumpIf { condition: Relative(3), location: 1523 }, Jump { location: 1515 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Mov { destination: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(5) }, Return, Load { destination: Relative(3), source_pointer: Relative(5) }, JumpIf { condition: Relative(3), location: 1526 }, Jump { location: 1566 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1532 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1542 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Load { destination: Relative(3), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(12) }, BinaryIntOp { destination: Relative(15), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(15), location: 1561 }, Call { location: 1791 }, Store { destination_pointer: Relative(5), source: Relative(10) }, Store { destination_pointer: Relative(6), source: Relative(9) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Store { destination_pointer: Relative(2), source: Relative(14) }, Jump { location: 1566 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(3) }, Jump { location: 1512 }, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1576 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32837) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1593 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1603 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(10), location: 1629 }, Jump { location: 1608 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(5) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1614 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(13) }, Load { destination: Relative(10), source_pointer: Relative(12) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2061 }, Mov { destination: Relative(11), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(11) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U8, lhs: Relative(10), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Jump { location: 1631 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 1631 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(8) }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1641 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Direct(32836) }, JumpIf { condition: Relative(8), location: 1671 }, Jump { location: 1646 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1654 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(14) }, Load { destination: Relative(11), source_pointer: Relative(13) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2061 }, Mov { destination: Relative(12), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Store { destination_pointer: Relative(6), source: Relative(12) }, Load { destination: Relative(1), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(11), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(1), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Jump { location: 1673 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 1673 }, Load { destination: Relative(10), source_pointer: Relative(7) }, JumpIf { condition: Relative(10), location: 1681 }, Jump { location: 1676 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(5), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1688 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(32839) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1688 }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(5) }, Return, Call { location: 1131 }, Load { destination: Relative(10), source_pointer: Relative(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1699 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1707 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1715 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 18 }, Mov { destination: Relative(18), source: Direct(0) }, Mov { destination: Relative(19), source: Relative(1) }, Mov { destination: Relative(20), source: Relative(2) }, Mov { destination: Relative(21), source: Relative(4) }, Mov { destination: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(17) }, Call { location: 2103 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, JumpIf { condition: Relative(10), location: 1737 }, Jump { location: 1732 }, Mov { destination: Relative(6), source: Direct(32835) }, Mov { destination: Relative(7), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1786 }, Load { destination: Relative(12), source_pointer: Relative(16) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1743 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(12) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 21 }, Mov { destination: Relative(21), source: Direct(0) }, Mov { destination: Relative(22), source: Relative(3) }, Mov { destination: Relative(23), source: Relative(15) }, Mov { destination: Relative(24), source: Relative(16) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, JumpIf { condition: Relative(12), location: 1772 }, Jump { location: 1759 }, Load { destination: Relative(3), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(3) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1765 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(2), source: Direct(32836) }, Mov { destination: Relative(10), source: Relative(4) }, Mov { destination: Relative(11), source: Relative(5) }, Jump { location: 1781 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, BinaryIntOp { destination: Relative(4), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, JumpIf { condition: Relative(4), location: 1776 }, Call { location: 1791 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(2), source: Relative(3) }, Mov { destination: Relative(10), source: Relative(18) }, Mov { destination: Relative(11), source: Relative(19) }, Jump { location: 1781 }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(8), source: Relative(10) }, Mov { destination: Relative(9), source: Relative(11) }, Jump { location: 1786 }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(9) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 1131 }, Load { destination: Relative(5), 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(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1801 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32837) }, Load { destination: Relative(9), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1818 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(9) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 1822 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32841) }, JumpIf { condition: Relative(6), location: 1844 }, Jump { location: 1825 }, Load { destination: Relative(10), source_pointer: Relative(8) }, JumpIf { condition: Relative(10), location: 1833 }, Jump { location: 1828 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(4), source: Direct(32836) }, Mov { destination: Relative(6), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1840 }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(4), source: Direct(32841) }, Mov { destination: Relative(6), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1840 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(2), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(9) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(6), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Load { destination: Relative(11), source_pointer: Relative(10) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1855 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32836) }, JumpIf { condition: Relative(10), location: 1885 }, Jump { location: 1860 }, Load { destination: Relative(9), source_pointer: Relative(5) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Load { destination: Relative(11), source_pointer: Relative(10) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1868 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Sub, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Load { destination: Relative(13), source_pointer: Relative(15) }, Mov { destination: Direct(32771), source: Relative(10) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2061 }, Mov { destination: Relative(14), source: Direct(32773) }, Store { destination_pointer: Relative(5), source: Relative(11) }, Store { destination_pointer: Relative(7), source: Relative(14) }, Load { destination: Relative(9), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U8, lhs: Relative(13), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(10) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Jump { location: 1887 }, Store { destination_pointer: Relative(8), source: Direct(32835) }, Jump { location: 1887 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(6) }, Jump { location: 1822 }, Call { location: 1131 }, Load { destination: Relative(9), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1897 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1905 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 2161 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(9), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, JumpIf { condition: Relative(9), location: 1926 }, Jump { location: 1921 }, Mov { destination: Relative(5), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(32836) }, Mov { destination: Relative(7), source: Relative(3) }, Mov { destination: Relative(8), source: Relative(4) }, Jump { location: 1975 }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1932 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 21 }, Mov { destination: Relative(21), source: Direct(0) }, Mov { destination: Relative(22), source: Relative(2) }, Mov { destination: Relative(23), source: Relative(13) }, Mov { destination: Relative(24), source: Relative(14) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, JumpIf { condition: Relative(15), location: 1961 }, Jump { location: 1948 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1954 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(9), source: Direct(32836) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Relative(4) }, Jump { location: 1970 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(17) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 1965 }, Call { location: 1791 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(9), source: Relative(2) }, Mov { destination: Relative(10), source: Relative(18) }, Mov { destination: Relative(11), source: Relative(19) }, Jump { location: 1970 }, Mov { destination: Relative(5), source: Relative(1) }, Mov { destination: Relative(6), source: Relative(9) }, Mov { destination: Relative(7), source: Relative(10) }, Mov { destination: Relative(8), source: Relative(11) }, Jump { location: 1975 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(5) }, Mov { destination: Relative(2), source: Relative(6) }, Return, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1987 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32837) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 2004 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(1) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 2014 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(1), location: 2040 }, Jump { location: 2019 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 2025 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(12) }, Load { destination: Relative(9), source_pointer: Relative(11) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2061 }, Mov { destination: Relative(10), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U8, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Jump { location: 2042 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 2042 }, Load { destination: Relative(10), source_pointer: Relative(7) }, JumpIf { condition: Relative(10), location: 2050 }, Jump { location: 2045 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(5), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 2057 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(32838) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 2057 }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(5) }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32778), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32779), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32779), location: 2071 }, Jump { location: 2079 }, BinaryIntOp { destination: Direct(32773), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 2102 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32778) }, Mov { destination: Direct(32784), source: Direct(32781) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 2101 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 2094 }, Jump { location: 2102 }, Return, Call { location: 1131 }, Load { destination: Relative(9), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 2110 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 2118 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(9), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, JumpIf { condition: Relative(9), location: 2151 }, Jump { location: 2134 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(2) }, Mov { destination: Relative(15), source: Relative(3) }, Mov { destination: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Mov { destination: Relative(10), source: Relative(16) }, Mov { destination: Relative(11), source: Relative(17) }, Mov { destination: Relative(5), source: Relative(1) }, Mov { destination: Relative(6), source: Relative(9) }, Mov { destination: Relative(7), source: Relative(10) }, Mov { destination: Relative(8), source: Relative(11) }, Jump { location: 2156 }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(13) }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 2156 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(5) }, Mov { destination: Relative(2), source: Relative(6) }, Return, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 2168 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Load { destination: Relative(4), 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(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2176 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 1980 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(13) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Not { destination: Relative(1), source: Relative(4), bit_size: U1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U1, lhs: Relative(4), rhs: Relative(1) }, Cast { destination: Relative(11), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(12), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U32, lhs: Relative(11), rhs: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U32, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, ConditionalMov { destination: Relative(8), source_a: Relative(9), source_b: Relative(3), condition: Relative(4) }, Mov { destination: Direct(32771), source: Relative(8) }, Call { location: 2207 }, Mov { destination: Relative(7), source: Direct(32772) }, Mov { destination: Relative(1), source: Relative(10) }, Mov { destination: Relative(4), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(2) }, Mov { destination: Relative(2), source: Relative(13) }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 2211 }, Jump { location: 2213 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 2232 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 2230 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 2223 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 2232 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32842 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32842), size_address: Relative(1), offset_address: Relative(2) }, Call { location: 11 }, Call { location: 19 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32842 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 4 }, Return, Call { location: 1131 }, Const { destination: Relative(1), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 114 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(4) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 97 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 101 }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(9), source: Relative(8) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U8), value: 121 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 2 }, 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(8) }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 61 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 69 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 77 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 85 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(10), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(1) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 20 }, Mov { destination: Relative(20), source: Direct(0) }, Mov { destination: Relative(21), source: Relative(3) }, Mov { destination: Relative(22), source: Relative(5) }, Mov { destination: Relative(23), source: Relative(7) }, Mov { destination: Relative(24), source: Relative(9) }, Mov { destination: Relative(25), source: Direct(32841) }, Mov { destination: Relative(26), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(19) }, Call { location: 1140 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Load { destination: Relative(10), source_pointer: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 128 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(10) }, Const { destination: Relative(10), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 109 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 77 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 102 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(40), bit_size: Integer(U8), value: 93 }, Const { destination: Relative(41), bit_size: Integer(U8), value: 95 }, Const { destination: Relative(42), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(43), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(44), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(45), bit_size: Integer(U8), value: 118 }, Const { destination: Relative(46), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(47), bit_size: Integer(U8), value: 56 }, Mov { destination: Relative(48), source: Direct(1) }, Const { destination: Relative(49), bit_size: Integer(U32), value: 204 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(49) }, IndirectConst { destination_pointer: Relative(48), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(49), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, Mov { destination: Relative(50), source: Relative(49) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(32) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(37) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(41) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(43) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(44) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(45) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(8) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(46) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(47) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(21) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(4), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 579 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Direct(32841) }, JumpIf { condition: Relative(4), location: 583 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(10), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), 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(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(2) }, 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(8) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(3) }, Mov { destination: Relative(51), source: Relative(5) }, Mov { destination: Relative(52), source: Relative(7) }, Mov { destination: Relative(53), source: Relative(9) }, Mov { destination: Relative(54), source: Direct(32841) }, Mov { destination: Relative(55), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1140 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(50) }, Mov { destination: Relative(6), source: Relative(51) }, Mov { destination: Relative(8), source: Relative(52) }, Mov { destination: Relative(10), source: Relative(53) }, Load { destination: Relative(3), source_pointer: Relative(10) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 624 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(48) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 632 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(3) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(15) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(1)), MemoryAddress(Relative(6)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(3), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(9), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 643 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32841) }, JumpIf { condition: Relative(1), location: 647 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Relative(3) }, Store { destination_pointer: Relative(6), source: Relative(29) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(35) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(28) }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, 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(2) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 680 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(3) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 688 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(7) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 696 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(15) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(21) }, Call { location: 1224 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(50) }, Mov { destination: Relative(17), source: Relative(51) }, Mov { destination: Relative(18), source: Relative(52) }, Mov { destination: Relative(20), source: Relative(53) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(7) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 741 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(48) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(7) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 749 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(7) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Load { destination: Relative(23), source_pointer: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(25) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), MemoryAddress(Relative(18)), HeapVector(HeapVector { pointer: Relative(7), size: Relative(23) }), HeapArray(HeapArray { pointer: Relative(24), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(16), location: 760 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, JumpIf { condition: Relative(7), location: 764 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(28) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(2) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1224 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(16), source: Relative(51) }, Mov { destination: Relative(17), source: Relative(52) }, Mov { destination: Relative(18), source: Relative(53) }, Load { destination: Relative(1), source_pointer: Relative(18) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 809 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(48) }, 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: 817 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(1) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(23) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(1), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 828 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(2) }, JumpIf { condition: Relative(1), location: 832 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(7) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Direct(32840) }, Mov { destination: Relative(51), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(18) }, Call { location: 1307 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(7), source: Relative(50) }, Mov { destination: Relative(15), source: Relative(51) }, Mov { destination: Relative(16), source: Relative(52) }, Mov { destination: Relative(17), source: Relative(53) }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(18) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 868 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(48) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(18) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 876 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(18) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Load { destination: Relative(24), source_pointer: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(26) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(7)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), HeapVector(HeapVector { pointer: Relative(18), size: Relative(24) }), HeapArray(HeapArray { pointer: Relative(25), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(7), location: 887 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Direct(32836) }, JumpIf { condition: Relative(7), location: 891 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(1) }, Load { destination: Relative(15), source_pointer: Relative(2) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 904 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(15) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(25) }, Call { location: 1356 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(17), source: Relative(51) }, Mov { destination: Relative(18), source: Relative(52) }, Mov { destination: Relative(24), source: Relative(53) }, Load { destination: Relative(25), source_pointer: Relative(24) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(25) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 924 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(25) }, Load { destination: Relative(25), source_pointer: Relative(48) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(25) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 932 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(25) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Load { destination: Relative(28), source_pointer: Relative(29) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(30) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(17)), MemoryAddress(Relative(18)), HeapVector(HeapVector { pointer: Relative(25), size: Relative(28) }), HeapArray(HeapArray { pointer: Relative(29), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 943 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Direct(32836) }, JumpIf { condition: Relative(15), location: 947 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, Load { destination: Relative(15), source_pointer: Relative(7) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 953 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(15) }, Load { destination: Relative(15), source_pointer: Relative(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(15) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 961 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(15) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(29) }, Call { location: 1362 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(24), source: Relative(51) }, Mov { destination: Relative(25), source: Relative(52) }, Mov { destination: Relative(28), source: Relative(53) }, Load { destination: Relative(29), source_pointer: Relative(28) }, Const { destination: Relative(30), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(31), op: Equals, bit_size: U32, lhs: Relative(30), rhs: Relative(29) }, Not { destination: Relative(31), source: Relative(31), bit_size: U1 }, JumpIf { condition: Relative(31), location: 981 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(28), source: Relative(29) }, Load { destination: Relative(29), source_pointer: Relative(48) }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(32), op: Equals, bit_size: U32, lhs: Relative(31), rhs: Relative(29) }, Not { destination: Relative(32), source: Relative(32), bit_size: U1 }, JumpIf { condition: Relative(32), location: 989 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(29) }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Load { destination: Relative(32), source_pointer: Relative(33) }, Const { destination: Relative(34), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(33), rhs: Relative(34) }, BinaryIntOp { destination: Relative(33), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(24)), MemoryAddress(Relative(25)), HeapVector(HeapVector { pointer: Relative(29), size: Relative(32) }), HeapArray(HeapArray { pointer: Relative(33), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 1000 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Direct(32838) }, JumpIf { condition: Relative(15), location: 1004 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, Load { destination: Relative(15), source_pointer: Relative(7) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(15) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1010 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(15) }, Load { destination: Relative(15), source_pointer: Relative(2) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(15) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1018 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(15) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(33) }, Call { location: 1396 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(28), source: Relative(51) }, Mov { destination: Relative(29), source: Relative(52) }, Mov { destination: Relative(32), source: Relative(53) }, Load { destination: Relative(2), source_pointer: Relative(32) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(34), op: Equals, bit_size: U32, lhs: Relative(33), rhs: Relative(2) }, Not { destination: Relative(34), source: Relative(34), bit_size: U1 }, JumpIf { condition: Relative(34), location: 1038 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(32), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(48) }, Const { destination: Relative(34), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(35), op: Equals, bit_size: U32, lhs: Relative(34), rhs: Relative(2) }, Not { destination: Relative(35), source: Relative(35), bit_size: U1 }, JumpIf { condition: Relative(35), location: 1046 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(2) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(32), rhs: Direct(2) }, Load { destination: Relative(35), source_pointer: Relative(36) }, Const { destination: Relative(37), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(36), rhs: Relative(37) }, BinaryIntOp { destination: Relative(36), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(28)), MemoryAddress(Relative(29)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(35) }), HeapArray(HeapArray { pointer: Relative(36), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 1057 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Direct(32839) }, JumpIf { condition: Relative(2), location: 1061 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Load { destination: Relative(2), source_pointer: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(2) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1067 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(28), rhs: Relative(32) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(29) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(28) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(28) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(29) }, Mov { destination: Relative(29), source: Relative(28) }, Store { destination_pointer: Relative(29), source: Relative(1) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(1) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(1) }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(29), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(1) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(7) }, Mov { destination: Relative(51), source: Direct(32841) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(35) }, Call { location: 1481 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(50) }, Mov { destination: Relative(28), source: Relative(51) }, Mov { destination: Relative(29), source: Relative(52) }, Mov { destination: Relative(32), source: Relative(53) }, Load { destination: Relative(2), source_pointer: Relative(32) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(35), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(2) }, Not { destination: Relative(35), source: Relative(35), bit_size: U1 }, JumpIf { condition: Relative(35), location: 1107 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(32), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(48) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(36), op: Equals, bit_size: U32, lhs: Relative(35), rhs: Relative(2) }, Not { destination: Relative(36), source: Relative(36), bit_size: U1 }, JumpIf { condition: Relative(36), location: 1115 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(2) }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(32), rhs: Direct(2) }, Load { destination: Relative(36), source_pointer: Relative(37) }, Const { destination: Relative(38), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(37), rhs: Relative(38) }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(1)), MemoryAddress(Relative(28)), MemoryAddress(Relative(29)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(36) }), HeapArray(HeapArray { pointer: Relative(37), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 1126 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Direct(32840) }, JumpIf { condition: Relative(1), location: 1130 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1136 }, 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, Call { location: 1131 }, Load { destination: Relative(11), source_pointer: Relative(1) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1147 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(6) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(11) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1155 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(11) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 18 }, Mov { destination: Relative(18), source: Direct(0) }, Mov { destination: Relative(19), source: Relative(1) }, Mov { destination: Relative(20), source: Relative(5) }, Mov { destination: Relative(21), source: Relative(6) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(17) }, Call { location: 1553 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, JumpIf { condition: Relative(11), location: 1176 }, Jump { location: 1171 }, Mov { destination: Relative(7), source: Direct(32835) }, Mov { destination: Relative(8), source: Direct(32836) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(10), source: Relative(6) }, Jump { location: 1219 }, Load { destination: Relative(17), source_pointer: Relative(16) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(17) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1182 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(17) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 23 }, Mov { destination: Relative(23), source: Direct(0) }, Mov { destination: Relative(24), source: Relative(2) }, Mov { destination: Relative(25), source: Relative(3) }, Mov { destination: Relative(26), source: Relative(4) }, Mov { destination: Relative(27), source: Relative(15) }, Mov { destination: Relative(28), source: Relative(16) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(22) }, Call { location: 1676 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(17), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, Mov { destination: Relative(20), source: Relative(26) }, Mov { destination: Relative(21), source: Relative(27) }, JumpIf { condition: Relative(17), location: 1205 }, Jump { location: 1200 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(11), source: Direct(32836) }, Mov { destination: Relative(12), source: Relative(5) }, Mov { destination: Relative(13), source: Relative(6) }, Jump { location: 1214 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(19) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 1209 }, Call { location: 1767 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(11), source: Relative(2) }, Mov { destination: Relative(12), source: Relative(20) }, Mov { destination: Relative(13), source: Relative(21) }, Jump { location: 1214 }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(11) }, Mov { destination: Relative(9), source: Relative(12) }, Mov { destination: Relative(10), source: Relative(13) }, Jump { location: 1219 }, Mov { destination: Relative(4), source: Relative(10) }, Mov { destination: Relative(1), source: Relative(7) }, Mov { destination: Relative(2), source: Relative(8) }, Mov { destination: Relative(3), source: Relative(9) }, Return, Call { location: 1131 }, Load { destination: Relative(10), source_pointer: Relative(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1231 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1239 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 17 }, Mov { destination: Relative(17), source: Direct(0) }, Mov { destination: Relative(18), source: Relative(1) }, Mov { destination: Relative(19), source: Relative(4) }, Mov { destination: Relative(20), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(16) }, Call { location: 1770 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Mov { destination: Relative(15), source: Relative(21) }, JumpIf { condition: Relative(10), location: 1260 }, Jump { location: 1255 }, Mov { destination: Relative(6), source: Direct(32835) }, Mov { destination: Relative(7), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1302 }, Load { destination: Relative(16), source_pointer: Relative(15) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(16) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1266 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(16) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 22 }, Mov { destination: Relative(22), source: Direct(0) }, Mov { destination: Relative(23), source: Relative(2) }, Mov { destination: Relative(24), source: Relative(3) }, Mov { destination: Relative(25), source: Relative(14) }, Mov { destination: Relative(26), source: Relative(15) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(21) }, Call { location: 1866 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, Mov { destination: Relative(20), source: Relative(26) }, JumpIf { condition: Relative(16), location: 1288 }, Jump { location: 1283 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(10), source: Direct(32836) }, Mov { destination: Relative(11), source: Relative(4) }, Mov { destination: Relative(12), source: Relative(5) }, Jump { location: 1297 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(18) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 1292 }, Call { location: 1767 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(10), source: Relative(2) }, Mov { destination: Relative(11), source: Relative(19) }, Mov { destination: Relative(12), source: Relative(20) }, Jump { location: 1297 }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Relative(10) }, Mov { destination: Relative(8), source: Relative(11) }, Mov { destination: Relative(9), source: Relative(12) }, Jump { location: 1302 }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(9) }, Return, Call { location: 1131 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Mov { destination: Relative(3), source: Direct(32836) }, Jump { location: 1322 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(2), location: 1334 }, Jump { location: 1325 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(4), source_pointer: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(1) }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Mov { destination: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(5) }, Return, Load { destination: Relative(2), source_pointer: Relative(4) }, JumpIf { condition: Relative(2), location: 1337 }, Jump { location: 1353 }, Load { destination: Relative(2), source_pointer: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Load { destination: Relative(8), source_pointer: Relative(7) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1345 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(5) }, Store { destination_pointer: Relative(4), source: Direct(32837) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Store { destination_pointer: Relative(6), source: Relative(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Jump { location: 1353 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, Mov { destination: Relative(3), source: Relative(2) }, Jump { location: 1322 }, Call { location: 1131 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(4), source: Relative(3) }, Mov { destination: Relative(3), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(32836) }, Return, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1369 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Load { destination: Relative(4), 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(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1377 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(13) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(9) }, Return, Call { location: 1131 }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1411 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(3) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1419 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(8) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 15 }, Mov { destination: Relative(15), source: Direct(0) }, Mov { destination: Relative(16), source: Relative(1) }, Mov { destination: Relative(17), source: Relative(2) }, Mov { destination: Relative(18), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(14) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(8), source: Relative(16) }, Mov { destination: Relative(11), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(11) }, Store { destination_pointer: Relative(6), source: Relative(12) }, Store { destination_pointer: Relative(7), source: Relative(13) }, JumpIf { condition: Relative(8), location: 1439 }, Jump { location: 1476 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1445 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(13) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1453 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(19), source: Relative(13) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(17) }, Mov { destination: Relative(9), source: Relative(18) }, Mov { destination: Relative(10), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, BinaryIntOp { destination: Relative(12), op: LessThanEquals, bit_size: U32, lhs: Relative(11), rhs: Relative(1) }, JumpIf { condition: Relative(12), location: 1471 }, Call { location: 1767 }, Store { destination_pointer: Relative(4), source: Relative(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Store { destination_pointer: Relative(6), source: Relative(10) }, Store { destination_pointer: Relative(7), source: Relative(14) }, Jump { location: 1476 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Return, Call { location: 1131 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32837) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Direct(32836) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 1496 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32840) }, JumpIf { condition: Relative(3), location: 1507 }, Jump { location: 1499 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Mov { destination: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(5) }, Return, Load { destination: Relative(3), source_pointer: Relative(5) }, JumpIf { condition: Relative(3), location: 1510 }, Jump { location: 1550 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1516 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(2) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1526 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Load { destination: Relative(3), source_pointer: Relative(6) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(12) }, BinaryIntOp { destination: Relative(15), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(15), location: 1545 }, Call { location: 1767 }, Store { destination_pointer: Relative(5), source: Relative(10) }, Store { destination_pointer: Relative(6), source: Relative(9) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Store { destination_pointer: Relative(2), source: Relative(14) }, Jump { location: 1550 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(3) }, Jump { location: 1496 }, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1560 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32837) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1577 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1587 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(10), location: 1613 }, Jump { location: 1592 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(5) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1598 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(13) }, Load { destination: Relative(10), source_pointer: Relative(12) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2029 }, Mov { destination: Relative(11), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Store { destination_pointer: Relative(6), source: Relative(11) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U8, lhs: Relative(10), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Jump { location: 1615 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 1615 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, Load { destination: Relative(5), source_pointer: Relative(8) }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1625 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Direct(32836) }, JumpIf { condition: Relative(8), location: 1655 }, Jump { location: 1630 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1638 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(14) }, Load { destination: Relative(11), source_pointer: Relative(13) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2029 }, Mov { destination: Relative(12), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Store { destination_pointer: Relative(6), source: Relative(12) }, Load { destination: Relative(1), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(11), rhs: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Mul, bit_size: U1, lhs: Relative(1), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Jump { location: 1657 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 1657 }, Load { destination: Relative(10), source_pointer: Relative(7) }, JumpIf { condition: Relative(10), location: 1665 }, Jump { location: 1660 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(5), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1672 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(32839) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1672 }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(5) }, Return, Call { location: 1131 }, Load { destination: Relative(10), source_pointer: Relative(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1683 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1691 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1699 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 18 }, Mov { destination: Relative(18), source: Direct(0) }, Mov { destination: Relative(19), source: Relative(1) }, Mov { destination: Relative(20), source: Relative(2) }, Mov { destination: Relative(21), source: Relative(4) }, Mov { destination: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(17) }, Call { location: 2071 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, JumpIf { condition: Relative(10), location: 1721 }, Jump { location: 1716 }, Mov { destination: Relative(6), source: Direct(32835) }, Mov { destination: Relative(7), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1762 }, Load { destination: Relative(12), source_pointer: Relative(16) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1727 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(12) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 21 }, Mov { destination: Relative(21), source: Direct(0) }, Mov { destination: Relative(22), source: Relative(3) }, Mov { destination: Relative(23), source: Relative(15) }, Mov { destination: Relative(24), source: Relative(16) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(12), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, JumpIf { condition: Relative(12), location: 1748 }, Jump { location: 1743 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(2), source: Direct(32836) }, Mov { destination: Relative(10), source: Relative(4) }, Mov { destination: Relative(11), source: Relative(5) }, Jump { location: 1757 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, BinaryIntOp { destination: Relative(4), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(3) }, JumpIf { condition: Relative(4), location: 1752 }, Call { location: 1767 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(2), source: Relative(3) }, Mov { destination: Relative(10), source: Relative(18) }, Mov { destination: Relative(11), source: Relative(19) }, Jump { location: 1757 }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(8), source: Relative(10) }, Mov { destination: Relative(9), source: Relative(11) }, Jump { location: 1762 }, Mov { destination: Relative(2), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(9) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 1131 }, Load { destination: Relative(5), 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(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1777 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32837) }, Load { destination: Relative(9), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1794 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(9) }, Mov { destination: Relative(4), source: Direct(32836) }, Jump { location: 1798 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Direct(32841) }, JumpIf { condition: Relative(6), location: 1820 }, Jump { location: 1801 }, Load { destination: Relative(10), source_pointer: Relative(8) }, JumpIf { condition: Relative(10), location: 1809 }, Jump { location: 1804 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(4), source: Direct(32836) }, Mov { destination: Relative(6), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1816 }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(4), source: Direct(32841) }, Mov { destination: Relative(6), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1816 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(2), source: Relative(4) }, Mov { destination: Relative(4), source: Relative(9) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(6), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Load { destination: Relative(11), source_pointer: Relative(10) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1831 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32836) }, JumpIf { condition: Relative(10), location: 1861 }, Jump { location: 1836 }, Load { destination: Relative(9), source_pointer: Relative(5) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Load { destination: Relative(11), source_pointer: Relative(10) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1844 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Sub, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Load { destination: Relative(13), source_pointer: Relative(15) }, Mov { destination: Direct(32771), source: Relative(10) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2029 }, Mov { destination: Relative(14), source: Direct(32773) }, Store { destination_pointer: Relative(5), source: Relative(11) }, Store { destination_pointer: Relative(7), source: Relative(14) }, Load { destination: Relative(9), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U8, lhs: Relative(13), rhs: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(10) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Jump { location: 1863 }, Store { destination_pointer: Relative(8), source: Direct(32835) }, Jump { location: 1863 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(6) }, Jump { location: 1798 }, Call { location: 1131 }, Load { destination: Relative(9), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1873 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1881 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 2129 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(9), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, JumpIf { condition: Relative(9), location: 1902 }, Jump { location: 1897 }, Mov { destination: Relative(5), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(32836) }, Mov { destination: Relative(7), source: Relative(3) }, Mov { destination: Relative(8), source: Relative(4) }, Jump { location: 1943 }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1908 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 21 }, Mov { destination: Relative(21), source: Direct(0) }, Mov { destination: Relative(22), source: Relative(2) }, Mov { destination: Relative(23), source: Relative(13) }, Mov { destination: Relative(24), source: Relative(14) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, JumpIf { condition: Relative(15), location: 1929 }, Jump { location: 1924 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(9), source: Direct(32836) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Relative(4) }, Jump { location: 1938 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(17) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, JumpIf { condition: Relative(3), location: 1933 }, Call { location: 1767 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(9), source: Relative(2) }, Mov { destination: Relative(10), source: Relative(18) }, Mov { destination: Relative(11), source: Relative(19) }, Jump { location: 1938 }, Mov { destination: Relative(5), source: Relative(1) }, Mov { destination: Relative(6), source: Relative(9) }, Mov { destination: Relative(7), source: Relative(10) }, Mov { destination: Relative(8), source: Relative(11) }, Jump { location: 1943 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(5) }, Mov { destination: Relative(2), source: Relative(6) }, Return, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1955 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32837) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1972 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(1) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1982 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(1), location: 2008 }, Jump { location: 1987 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1993 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(12) }, Load { destination: Relative(9), source_pointer: Relative(11) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2029 }, Mov { destination: Relative(10), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U8, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Jump { location: 2010 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 2010 }, Load { destination: Relative(10), source_pointer: Relative(7) }, JumpIf { condition: Relative(10), location: 2018 }, Jump { location: 2013 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(5), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 2025 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(32838) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 2025 }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(5) }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32778), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32779), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32779), location: 2039 }, Jump { location: 2047 }, BinaryIntOp { destination: Direct(32773), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 2070 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32778) }, Mov { destination: Direct(32784), source: Direct(32781) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 2069 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 2062 }, Jump { location: 2070 }, Return, Call { location: 1131 }, Load { destination: Relative(9), source_pointer: Relative(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 2078 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(4) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 2086 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 16 }, Mov { destination: Relative(16), source: Direct(0) }, Mov { destination: Relative(17), source: Relative(1) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(9), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Mov { destination: Relative(13), source: Relative(19) }, Mov { destination: Relative(14), source: Relative(20) }, JumpIf { condition: Relative(9), location: 2119 }, Jump { location: 2102 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 13 }, Mov { destination: Relative(13), source: Direct(0) }, Mov { destination: Relative(14), source: Relative(2) }, Mov { destination: Relative(15), source: Relative(3) }, Mov { destination: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Mov { destination: Relative(10), source: Relative(16) }, Mov { destination: Relative(11), source: Relative(17) }, Mov { destination: Relative(5), source: Relative(1) }, Mov { destination: Relative(6), source: Relative(9) }, Mov { destination: Relative(7), source: Relative(10) }, Mov { destination: Relative(8), source: Relative(11) }, Jump { location: 2124 }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(13) }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 2124 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(1), source: Relative(5) }, Mov { destination: Relative(2), source: Relative(6) }, Return, Call { location: 1131 }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 2136 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Load { destination: Relative(4), 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(4) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2144 }, Call { location: 1137 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 1948 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(13) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Not { destination: Relative(1), source: Relative(4), bit_size: U1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U1, lhs: Relative(4), rhs: Relative(1) }, Cast { destination: Relative(11), source: Relative(4), bit_size: Integer(U32) }, Cast { destination: Relative(12), source: Relative(1), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(13), op: Mul, bit_size: U32, lhs: Relative(11), rhs: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U32, lhs: Relative(11), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U32, lhs: Relative(12), rhs: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, ConditionalMov { destination: Relative(8), source_a: Relative(9), source_b: Relative(3), condition: Relative(4) }, Mov { destination: Direct(32771), source: Relative(8) }, Call { location: 2175 }, Mov { destination: Relative(7), source: Direct(32772) }, Mov { destination: Relative(1), source: Relative(10) }, Mov { destination: Relative(4), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(2) }, Mov { destination: Relative(2), source: Relative(13) }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 2179 }, Jump { location: 2181 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 2200 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 2198 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 2191 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 2200 }, Return]" ], - "debug_symbols": "tZzNjhw3loXfpdZa5P0jL/tVDMOQbbkhQJANtT3AwPC7T5BxzlF7UQ1MVmvj+0npOjeSER8zMkjVny8/f/jxj3/+8PHzL7/+6+Uf3/358uOXj58+ffznD59+/en97x9//Xz97Z8vj/2fni//sHcv3XdZp6zHXewufpe4S96l7jLucqesO2XdKfZ4oBqqowZqohbqQL3SfNdGXXe1B6qhOmqgJmqhDlTkGfIMeY48R54jz5HnyHPkOfIceY48R15cebWroTpqoCZqoQ7Uidqo666JvEReIi+Rl8hL5CXyEnmJvEReIa+QV8gr5BXyCnmFvEJeIa+QN5A3kDeQN5A3kDeQN5A3kDeQN5A3kTeRN5E3kTeRN5E3kTeRN5E3kdfIa+Q18hp5jbxGXiOvkdfIa+Qt5C3kLeQt5C3kLeQt5C3kLeStO88fD1RDddRATdRCHagTtVGRZ8gz5BnyDHmGPEOeIc+QZ8gz5DnyHHmOPEeeI8+R58hz5DnyHHnww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4U/Cj4UfCj4EfBj4IfBT8KfhT8KPhR8KPgR8GPgh8FPwp+FPwo+FHwo+BHwY+CHwU/Cn4U/Cj4UfCj4EfBj4IfBT8KfhT8KPhR8KPgR8GPgh8FPwp+FPwo+FHwo+BHwY+CHwU/Cn4U/Cj4UfCj4EfBj4IfBT8KfhT8KPhR8KPgR8GPgh8FPwp+FPwo+FHwo+BHwY+CH7X9GLsaqqMGaqIW6pU3d52ojbruuv041VAd9crrXRO1UAfqRG3Uddftx6mG6qjIW8hbyFvIW8hbyFt33ng8UA3VUa+8tWuiFupAnaiNuu66/TjVUB0VeYY8Q54hz5BnyDPkOfIceY48R54jz5G3/TDfMAlNWIDtyA1GcEIQ9nOJ2FCEQZiEJizAtsVygxGcEIQkFGEQJqEJC1BMLiYXk4vJxeRicjG5mFxMLiYPJg8mDyYPJg8mDyYPJg8mDyYPJk8mTyZPJk8mTyZPJk8mTyZPJk8mN5Obyc3kZnIzuZncTG4mN5ObyYvJi8mLyYvJi8mLyYvJi8nnMVhtWDfM8yTsgBGcEIQkFGEQJqEJTDYmG5ONycZkY7Ix2ZhsTDYmG5O3fTY2GMEJQUhCEQZhEpqwAMHkYHIwOZgcTA4mB5ODycHkYHIyOZmcTD4Org1JKMIgTEITFuA4eGA/LHxscEIQklCEQdiPDG1DExZgO3iDEZwQhJ3sG4owCJPQhAXYDt5gBCcEgcmTyZPJk8mTyZPJzeRmcjO5mdxMbiY3k5vJ20GPDQuwHbzBCE4IQhKKMAiTwOSF5H48CEZwQhCSUIRBmIQmMNmYfB5Mjw1OCEISijAIk9CEnXzdKfR5Qn3ACE4IQhJ2cm8YhElowgJsB28wwk5eG4KQhCIMwiQ0YQG2gzcYgcnJ5GRyMjmZnExOJieTi8nbwXhscEIQklCEQZiEJizAdvAGJg8mDyYPJg8mDyYPJg8mDyZvB2NfG9vBG5wQhCQUYRAmYSfnhgXYDt5gBCcEYSfXhiIMwiQ0YQG2gzcYwQlBYPJi8mLyYvJ2MPb1vB3csLaDNxjBCUFIQhF28twwCU1YgO3gDUZwQhCSUAQmG5ONycZkZ7Iz2ZnsTHYmO5O3g/nYMAlNWIDt4A1GcEIQruQ8q29FGIRJaMICbAfTNxjBCUFIQhEGYRKasADF5GJyMbmYXEzeDmZsGIRJaMICbAdvMIITdnJuSEIRBmESmrAA28EbjOAEJk8mTyZPJk8mTyZPJjeTm8nN5O1g7ithO3hDEQZhEpqwANvBG3Zyb3BCEJJQhEHYyWtDE9YN16rsQ2QiF4UoRSUaoilqkXqYeph6nMclj0MhSlGJhmiKWrRI5/HJva5sIheFKEUlGqIpatEihXqEeoR6hHqEeoR6hHqEeoR6hHqcxyx5yEQuClGKSjREU7R71KFFOo9ebjKRi0K0e4xDJRqiKWrRIp3HMTeZyEUhUo+hHkM9hnoM9TgPaOam8wjzJhO5KEQpKtEQTVGL1KPVo9Wj1aPVo9Wj1aPVo9Wj1eM86OxN51HnTSZyUYhSVKIhmqIWscfZfgEykYtClKISDdEUtejqMfa1e7ZkgEzkohClqERDdPUY986OFi3S9hxkIhftHnEoRSUaoilq0SJt80YeclGIUlSiIZqiFi3SNg+kHqUepR6lHqUepR7bvFGHWrRI2zyQiVwUohSVaIjUY6jH1KtTr86vr+oIWkfQOoLWEbSOYDszxqESDdEUtWiRtjMgE7koROqx1GOpx2KPs/1izEMmclGIUlSiIZqkc7X3oRSVaJD2p8ZYh1JUoiGaohYt0v7UAJnIReqR6pHqkeqR6pHqkTyrZ0MEyEQuClGKSjREU9Qi9dC167rqzoaHm6ZenTqCqSOYOoKpI5g6gslzfjZAgFrE6+psgwCZyEUhSlGJ1EPXruvaPRsh7mtj6bpauq6Wrqul62rpulq6rvbcfuhseDjX0NnyABqiSdoz4XwcKtEQTVGLFmnf8YBM5KIQqUeox75O557Rz5aDefbE7WsSFKIk7Svs/ol9NYFSVKIhmiJ121fTTUN5eyYEuWj3iEM6gj0TgoZoihZpqkerR6tHq0frfbTeR+t9tN5H63203kerx1KPpR5LPZZ6LPXY19D93vY1BJqiFi3Q2T4AMpGLQpSiErHH2Rxwzv7ZHgAq0RBNUYt41Z2tAiC+37NdABSiFJVoiKaoRRzTs30ApB6hHqEeoR6hHqEewTE92wlAGtPUmKbGNDWmqTFNjWlqTFNjmuqR6pG8Es82A5CJXKRjljMpZ1LOpJxJOZNyJuXM2WwA0rgM9RjqMdRjqMdQj6keU+MyNS5T4zI1LlPjMjUuU+MyNS5TY98a+1aPVo/m7HO2JYBKNERT1CKN/dLYL434UvJS8lLy0tW+eLWfjQkgE7koRCkq0RBNUYvUw3gGz3aEcyxnQwJoivguS5aVjCoZVTKqZFTJqJJRJaNKRpWMKhlVMupsPwCpR6hHqkeqR6pHqoeMKhlVMqpkVMmosy3hpnqITOSiEKlHqUepR2lMS2NavHLOZgWQiVwUohTpbG17+pzVbQ/IRSFKUYmGaIpatEitHq0erR6tHq0erR6tHseePNSiRTr23GQiF4UoRSUaIvVY6rHY42xqAJnIRSFK0e5Rh1q0SPsbLshELgpRipR3fBuHpqhFi3Q+/W4ykYtClKIS7R7z0O7RhxYpNAahMQiNQWgMokRDNEUt0jinxjnVI9UjNS7HwZumSOOcGufSOJfGuTTOpbzSOJfGuTTOpXEujXNpnIfGeWich8Z5aJyHxnlonId6nE+6M+Lnk+6M89CIn8+3m4J0Po/WISedTTt2KEUlGqIpatECnY0FIBO5KEQpKtEQTVGL1MPUw9TD1MPUw9TD1MPUw/gt8Gw1APF73tlsADKRi0KUohINkXq4erh6hF4NvRp6NXUEqSNIHUHqCFJHkPwWeDYQgKaoRfymeTYRgEzkohClSD1KPc535339na0DIBO5KEQpKhG/aZ5NAed749kVAEoRv2me1fYzy5/ldtAUtYifKWfJHWQiF4UoRSUaoilqkXqYeph6GOehs/4OSlGJhmiKWsS57iy6gwpOn1XyY/JZJr8p1SPVI9Uj1SPVI9WjHiITqW/pfZR6lHqUehTn2LOkDTKRi0KUohIN0de8FnHOPovbZ048q9sgF4UoRSUaoilqEefss8wNMsy7Z6H7PgsdIp2Z5ufgWb8+s89ZwAaFKEUlGqIpahHnxKV5d2neXZp3l+bdpXl3ad5dmnfPenb7oRYt0rmybzKRi0KUohINkXqYemjGXJoxl2bMpRnzLFCDTOSiEHG+OqvUoCGaohZxTjxL1SATuShE6qF59yxPnznsrE/fVA+RiVwUohRxTjwrz2euO0vPoBBxTjyrvefO/Cz3gkKUohIN0RS1iN8Slr5fnnVfkHrom+bSN82lb5pn8RekHrpDXrxD9gfvkP3BO2R/8A7ZH7xD9gfvkP2s/4KGaIpapB6mHqYeph6mHqYeph6G2cfPWu9N/hCZyEUhSlGJlOeYafys9YIWKR4iE7koRCkq0RDh7tDPWu+eh/ys8IKcdOb7dQh3h26cLdw4W7hxtnDjXZob79LceJfmxrs0N96lufEuzY13aW6mHqYeph6mHqYeph77LHQeMpGLQpSiEg3RFLVokUI9Qj0C9wd+/uk0aIimqEWLlA+RiVwUIvVI9dizQMehEKWoREM0RS1apPM9/iYTqcdUj6keUz2mekz1mBq/qfFrjV9r/FrnqHWOWueodY5a56h1jlo9Wj2Weiz1WOqx1GOpx1KPpR5LPZZ6LPY4q3Og0+Ovv9698NcX/PD7lw8f9m8v+LffZ/Ddny+/vf/y4fPvL//4/MenT+9e/uf9pz/O//Sv395/PvX391+uV68z++Hzz1e9An/5+OnDpr/eff3px+s/ej1q5k9fT5iHAur/kbB3hyGh1lMJq5gQ9ngtIV5PuG6LELA89PPuf/v5/HY/P5NDMPvx2s//pxGIvUkWI9BPjWFOJVwPXp9KqGDC9aj6mYQy0zH4q9eSPd54InaXbxbw5lNZe5/gPQjXc7hnhnGGhnFWP5XwkJIzHk8ljK8J/erlZPOtZ6K/YcCbT+X1BICDcH3lfGYYr29GTLi+UjyT0K3LaT13Oa2U1+v1y8nfOj16fcOAN5/KtW/ET8C1GDWfGMby/W9l7gTPZ07ltS7VSrB+6hg0RV/z66sJ8db5MfwbBrz1VF7LdjqVkU+dymze81zrZPVUwtcTcc0SzySU6V1cy4+vnsq3zo+xvmHAm0/lNY4chGul6plhnCErr2fCTyWYTuX1FP2phPk1oV9NyLfOjzm+YcCbT+X1xJuDcD1ifWYYlz5tr9XNeCph8rPyCnvmGK7FVNcxvD631Fvnx4pvGPDWUzkeg9fztSz8zFfCawWX72F4P3UiPHQM1zfUpxIWb72uJeNXb97qrfPjeHzDgDefyvCpQVjPDONbj2Dv4EDA3iLxxBHsVWwmjH7mPewnp0jYj06fOYYOvYt+6vN+6DHLeOrnPXTX4/l4Znb0/DoK+dQo+Cgq5dfS/VPHsHg5eT11C7xsSKlnxnHpel7jqSvhYfyU2v8c6pkE053f/ucaTx2DRvHZBNfMdD2dfuY8XFMqjyHsqXHYT815LVyPzV9LGP/htiniwbu/iHpmcvkvJFzLS0y41m/+lvD99af3P3388rdfUvvXzvry8f2Pnz7gj7/88fmnf3v19//9ja/wl9z+9uXXnz78/MeXDztpv3b/ptvr+fR318Pk+c49/Pt3L2P/+XF99l6rKPvPewHlu2uhxN5d/xn7L2z/xbxO/vWf+P6vfYj/Bw==", + "debug_symbols": "tZzdjh1FtoTfpa99sXP95cp5FYSQATOyZBnkgSMdId79VGZFhIeLHunsHt+Qn2k6ojqrvuzalWX+fPn5w49//POHj59/+fVfL//47s+XH798/PTp4z9/+PTrT+9///jr5+vf/vny2P/o+fKP8e6l+x7WGdbjHsY92D34PcQ95D3UPdwp605Zd8p4PDAOjIbRMQbGxFgYrzTbY2Nc9zgeGAdGw+gYA2NiLIzIG8gbyDPkGfIMeYY8Q54hz5BnyDPkGfL8yss9DoyG0TEGxsRYGCfGxrjuMZAXyAvkBfICeYG8QF4gL5AXyEvkJfISeYm8RF4iL5GXyEvkJfIKeYW8Ql4hr5BXyCvkFfIKeYW8ibyJvIm8ibyJvIm8ibyJvIm8ibxGXiOvkdfIa+Q18hp5jbxGXiNvIW8hbyFvIW8hbyFvIW8hbyFv3Xn2eGAcGA2jYwyMibEwToyNEXkDeQN5A3kDeQN5A3kDeQN5A3kDeYY8Q54hz5BnyDPkGfIMeYY8Qx78MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR24/ao8Do2F0jIExMV55c48TY2Nc97j9OOPAaBivvN5jYEyMhXFibIzrHrcfZxwYDSPyFvIW8hbyFvIW8tadV48HxoHRMF55a4+BMTEWxomxMa573H6ccWA0jMgbyBvIG8gbyBvIG8gz5BnyDHmGPEOeIW/7MWzDJDRhAbYjNwyCEZywn0v4hiQUYRKasADblhEbBsEITghCEoowCU1YgGRyMjmZnExOJieTk8nJ5GRyMrmYXEwuJheTi8nF5GJyMbmYXEyeTJ5MnkyeTJ5MnkyeTJ5MnkyeTG4mN5Obyc3kZnIzuZncTG4mN5MXkxeTF5MXkxeTF5MXkxeTz2Ow3LBumOdJ2IFBMIITgpCEIkxCE5g8mDyYPJg8mDyYPJg8mDyYPJg8mLztG7VhEIzghCAkoQiT0IQFcCY7k53JzmRnsjPZmexMdiY7k4PJweRg8nFwbQhCEoowCU1YgOPggf2w8LHBCE4IQhKKsB8Zjg1NWIDt4A2DYAQn7GTbkIQiTEITFmA7eMMgGMEJTJ5MnkyeTJ5MnkxuJjeTm8nN5GZyM7mZ3EzeDppvWIDt4A2DYAQnBCEJRZgEJi8k9+NBGAQjOCEISSjCJDSByYPJ58F0bTCCE4KQhCJMQhN28nWn0OcJ9YFBMIITgrCTe0MRJqEJC7AdvGEQdvLa4IQgJKEIk9CEBdgO3jAITA4mB5ODycHkYHIwOZicTN4O+mODEZwQhCQUYRKasADbwRuYXEwuJheTi8nF5GJyMbmYvB30fW1sB28wghOCkIQiTMJOjg0LsB28YRCM4ISdnBuSUIRJaMICbAdvGAQjOIHJi8mLyYvJ20Hf1/N2cMPaDt4wCEZwQhCSsJPnhklowgJsB28YBCM4IQhJYPJg8mDyYLIx2ZhsTDYmG5ONydvBeGyYhCYswHbwhkEwghOu5Di7b0kowiQ0YQG2g2EbBsEITghCEoowCU1YgGRyMjmZnExOJm8HwzcUYRKasADbwRsGwQg7OTYEIQlFmIQmLMB28IZBMAKTJ5MnkyeTJ5MnkyeTm8nN5GbydjD2lbAdvCEJRZiEJizAdvCGndwbjOCEICShCDt5bWjCuuHalX2IhshELgpRiko0RS1Sx1DHUMd5XPI45KIQpahEU9SiRTqPT+595SEykYtClKISTVGLFsnV4epwdbg6XB2uDleHq8PV4eo4j1ni0BCZyEUhSlGJpmh35KFFOo9ebhoiE7lod9ShFJVoilq0SOdxzE1DZCIXqaPUUeoodZQ6zgOauek8wrxpiEzkohClqERT1CJ1tDpaHa2OVkero9XR6mh1tDrOg87edB513jREJnJRiFJUoilqETvO6xegITKRi0KUohJNUYuujtrX7nklAzREJnJRiFJUoquj7jc7WrRI23PQEJlod/ihEKWoRFPUokXa5lUcMpGLQpSiEk1RixZpmwdSR6oj1ZHqSHWkOrZ5lYdatEjbPNAQmchFIUpRidRR6pj66tRX59ev6ghaR9A6gtYRtI5gO1N1KEUlmqIWLdJ2BjREJnKROpY6ljoWO85rFTUPlWiKmnSupj5Uoilq0SLt3xqgITKRi0KkDleHq8PV4eoIdQRn/LwAAXJRiFJUoilqEc/qeSECpI5Uh64601Vn9fWrOgJddaarznTVma6687rDfWaK5/y88gAaIhO5KEQpKpHO+VTHVEero3XOz1V36Fx1Nw3QebGg1qFFOivhTUNkIheFKEUlmiJ1DHXsVW8+Dl3fO8ehEk1Rk/YVdn/HvppALVqkfTWBhkht+2oCKW9fTaAS7Y7zJlzoCPbVdNO+mkBD5KRSR6mj1FHqKP0cpZ+j9HNM/RxTP8fUzzHVMdUx1THVMdUx1XE2dc7PdrZ1bhoiE7koRCkqkeZqX3UgdSx1LF0RS1fE4hVxXgEADZGJXBQi/rzndQDQFLWIc3peCwANkYlcFCJ1DHUMdQx1DHWYOoxzel4XALkoRCkq0RS1iHN6Xh8AqcPV4bwSz2sEoBSVSMcsZ0LOhJwJORNyJuRMyJnzMgFI8xLqSHWkOlIdqY5UR2peUvOSmpfUvKTmpTQvpXkpzUtp7ktzX+oodRRXn/PaAYjun1cPQENkIs391NxPzfhU8lTyVHLram9d7a2rvVNUoilqkYxaMmrJqKWOpY6lM7h4LOeFA9AQmYhnOmVUyqiUUSmjUkaljEoZleNrXot45aSMOq8XgNRh6jB1mDpMHaYOGZUyKmVUyqiUUee1A1CIUlSiKVKHqyPUEZrT0JyGi0KUohJNEa+h1O+j8+LBXIdSVKIpatEiHXtuGiITuUgdpY5SR6mj1FHqmOo49vghE7koRCkq0RS1aJHOb7Wb1NHqaHW0OlodrY5WR6vj/Fbbn2LOCwsgF4UoRSWaohYx77zAMPPQEJnIRSFKUYmmqEWLdFytQ7tjHnIR5+C8zACaohZxns9LDaAhMpGLQqQOU4dxXs4LDaAhMpGLQpSiEn3Na5HmOTTPoXkOzXNonkPzHJrn0DyH5jk0z6F5TnWc33Rnxs9vujPPqRk/ht40SceoPlSkfbX341CLFmlf7aAhMpGLQpSiEqmj1dHqWOpY6ljqWOpY6ljqWOpY6ljqWOw4LxaA+BnsvFoAclGIUlSiKWoRPwWeVwxA6hjqGOowfdX0Vfv6VR2B6QhMR2A6AtMRGD+hnRcGQENkIheFKEUlmqIWqSPUEfwUeHb/b8qHiJ8Cz676WZXPtjrIRSFKUYmmqEVc78/2OkgdrY5WR6uj1dHqaHVoLT777Deth2iITOSiEKWIeWcv/Th4dsOPeWc7/Catda21rrXWtda61lrXWutaa93ZxQap1/hznI1skDpcHVr/Wmtda61rrXWtte5sX4OGyETKixCliGtda61rrXWtta611p2dbJCJXBSiFKnjrH91qHkWzn3JodKZKRdxLTkb1SCuJWerGjREJnJRiFJUInVo3W2tu611t7Xuttbds2/d41CIUlSiKWrRIp1196YhMpE6FjuWVsylFXNpxVxaMZdWzKUVc2nFXFoxz2b0WUvObjTIRC4KUYpKNEUt4np1tqVB6jCuV2drGTRERtIzmaV74KVnMmdDF+SiEKWoRFPUInWUOkodpY5SR6mj1FFcBc7+LqhFXAXOFi9oiEzkohClSB26Q166Q166Q166Q166Q166Q166Qz4bvmc9OPu7oBZxpTlbvKAhMpGLlLe4CpyNXtAUtQgrjT14h2wP3iHbg3fI9uAdsj14h2xnr3evKnb2eve6YWeH96aztt/U9ypvZ0f2Jq4W9uBqYQ+uFvbgamEPrhb24GphD64W9uBqYQ+uFvbgamGPVkero9XR6mh1tDrOauGHFumsFjcNkYlcFKIUlWiK1LHYcXbd9m9iO7tuoBClqERT1KJFGg/REKljqGOvAm2HhshELgpRiko0RS1apFBHqCPUEeoIdYQ6gvN39tBALdL85UM0RCZyUYhSpI5UR6oj1VHqKHWUOkodpY5SR6mj1FHqOL9h/a+/3r3wr9//8PuXDx/2377/t7+P/92fL7+9//Lh8+8v//j8x6dP717+5/2nP85/9K/f3n8+4+/vv1xfva7kD59/vsYr8JePnz5s+uvd1+9+vP6t16NSfvf1hLQUkP+PhP12ExJyPZWwkgnXpslrCf56wvVrHQHLXN9v9rfvj2/3/TM4BdeN+mvf/59mwPdLnpiBfmoOYyrhesD4VEI6E2LmMwnXs0sdg716LY3HG0/EbvlmAW8+lbnfc7sn4Xq29Mw0Xh9pmTCzn0p4SMnrk/JTCfU1oV+9nMZ865nobxjw5lN5farlJFwfnp6ZxuvzAROWxzMJ3bqc1nOX0wp5vV6/nOyty6PlNwx486lc+3b5BOTD5xPTeO2ZLCZYPHMqrz2ZVsLop45BS/S1vr6a4G9dH92+YcBbT+W17aRT6fHUqYzmPc+145NPJXw9Edcq8UxCDv0U1/bZq6fyreujr28Y8OZTec0jJ+HaaXlmGqfLyllPWTmHTuX1FPiphPk1oV9NiLeuj1HfMODNp7Ifup6vh4rPTOPSb9trx86fSpj8XXmFPXMM1wah6RheX1vyretj+jcMeOupvPZBeT3XsGc+El67kvwZyvqpE2GuY7g+oT6VsHjrdW2Dvnrzlm9dH+vxDQPefCrdpiZhPTONbz2C/QYCAq4nK8/cQ1+PUngp7E3aZxLadQz91G/r0kOSeur7zXXPYvF4Zm2zsFTCU1JaJYWwa+P4qWNYvBgsn7qBXaMkxDPzuHQ1XtsAz1wJj8HfMfsv4zyTMHTftv+ywFPHoFl8NsG0ruwXj59IuBZEHoOPp+bBhlaWC189hvoPNz3uD967ueczS8N/IeHa8GDCw/7+nOP760/vf/r45W//i9S/dtaXj+9//PQBf/zlj88//dtXf//f3/gV/i9Wf/vy608ffv7jy4edtL92/39WryfJ39m4tljs2k75/t1L7T8/bL279jv2n/cj/e+uR/fj3fWP2v9i7H+xn8xc/1jf/7UP8f8A", "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\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\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", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_0.snap index 293f8e6a163..6c9b02ad6f6 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_0.snap @@ -31,9 +31,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32841 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32841), size_address: Relative(1), offset_address: Relative(2) }, Call { location: 11 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32841 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 4 }, Return, Call { location: 1275 }, Const { destination: Relative(1), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 114 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(4) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 97 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 101 }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(9), source: Relative(8) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U8), value: 121 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 2 }, 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(8) }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 60 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 68 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 76 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 84 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(10), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(1) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 20 }, Mov { destination: Relative(20), source: Direct(0) }, Mov { destination: Relative(21), source: Relative(3) }, Mov { destination: Relative(22), source: Relative(5) }, Mov { destination: Relative(23), source: Relative(7) }, Mov { destination: Relative(24), source: Relative(9) }, Mov { destination: Relative(25), source: Direct(32840) }, Mov { destination: Relative(26), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(19) }, Call { location: 1284 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Load { destination: Relative(10), source_pointer: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 127 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(10) }, Const { destination: Relative(10), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 109 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 77 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 102 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(40), bit_size: Integer(U8), value: 93 }, Const { destination: Relative(41), bit_size: Integer(U8), value: 95 }, Const { destination: Relative(42), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(43), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(44), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(45), bit_size: Integer(U8), value: 118 }, Const { destination: Relative(46), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(47), bit_size: Integer(U8), value: 56 }, Mov { destination: Relative(48), source: Direct(1) }, Const { destination: Relative(49), bit_size: Integer(U32), value: 204 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(49) }, IndirectConst { destination_pointer: Relative(48), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(49), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, Mov { destination: Relative(50), source: Relative(49) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(32) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(37) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(41) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(43) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(44) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(45) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(8) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(46) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(47) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(21) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(4), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 578 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Direct(32840) }, JumpIf { condition: Relative(4), location: 582 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(10), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), 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(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(2) }, 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(8) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(3) }, Mov { destination: Relative(51), source: Relative(5) }, Mov { destination: Relative(52), source: Relative(7) }, Mov { destination: Relative(53), source: Relative(9) }, Mov { destination: Relative(54), source: Direct(32840) }, Mov { destination: Relative(55), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1284 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(50) }, Mov { destination: Relative(6), source: Relative(51) }, Mov { destination: Relative(8), source: Relative(52) }, Mov { destination: Relative(10), source: Relative(53) }, Load { destination: Relative(3), source_pointer: Relative(10) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 623 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(48) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 631 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(3) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(15) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(1)), MemoryAddress(Relative(6)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(3), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(9), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 642 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, JumpIf { condition: Relative(1), location: 646 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Relative(3) }, Store { destination_pointer: Relative(6), source: Relative(29) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(35) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(28) }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, 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(2) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 679 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(3) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 687 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(7) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 695 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(15) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(21) }, Call { location: 1592 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(50) }, Mov { destination: Relative(17), source: Relative(51) }, Mov { destination: Relative(18), source: Relative(52) }, Mov { destination: Relative(20), source: Relative(53) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(7) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 740 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(48) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(7) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 748 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(7) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Load { destination: Relative(23), source_pointer: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(25) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), MemoryAddress(Relative(18)), HeapVector(HeapVector { pointer: Relative(7), size: Relative(23) }), HeapArray(HeapArray { pointer: Relative(24), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(16), location: 759 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, JumpIf { condition: Relative(7), location: 763 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(28) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(2) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1592 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(16), source: Relative(51) }, Mov { destination: Relative(17), source: Relative(52) }, Mov { destination: Relative(18), source: Relative(53) }, Load { destination: Relative(1), source_pointer: Relative(18) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 808 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(48) }, 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: 816 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(1) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(23) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(1), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 827 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(2) }, JumpIf { condition: Relative(1), location: 831 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(7) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, Load { destination: Relative(7), source_pointer: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(7) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 856 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(48) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(7) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 864 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(7) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Load { destination: Relative(18), source_pointer: Relative(20) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(23) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Direct(32837)), MemoryAddress(Direct(32836)), MemoryAddress(Relative(7)), HeapVector(HeapVector { pointer: Relative(17), size: Relative(18) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Mov { destination: Relative(17), source: Direct(1) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(18) }, IndirectConst { destination_pointer: Relative(17), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Relative(20), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(18) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 886 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(48) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(18) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 894 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(18) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Load { destination: Relative(24), source_pointer: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(26) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Direct(32837)), MemoryAddress(Direct(32836)), MemoryAddress(Relative(7)), HeapVector(HeapVector { pointer: Relative(18), size: Relative(24) }), HeapArray(HeapArray { pointer: Relative(25), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(18) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 908 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(18) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 916 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(18) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 924 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(18) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 932 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Const { destination: Relative(31), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(7) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(31) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(18), source: Relative(50) }, Mov { destination: Relative(28), source: Relative(51) }, Mov { destination: Relative(29), source: Relative(52) }, Mov { destination: Relative(30), source: Relative(53) }, Load { destination: Relative(31), source_pointer: Relative(30) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(32), rhs: Relative(31) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 952 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(30), source: Relative(31) }, Load { destination: Relative(31), source_pointer: Relative(48) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(34), op: Equals, bit_size: U32, lhs: Relative(33), rhs: Relative(31) }, Not { destination: Relative(34), source: Relative(34), bit_size: U1 }, JumpIf { condition: Relative(34), location: 960 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(31) }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(30), rhs: Direct(2) }, Load { destination: Relative(34), source_pointer: Relative(35) }, Const { destination: Relative(36), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(35), rhs: Relative(36) }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(18)), MemoryAddress(Relative(28)), MemoryAddress(Relative(29)), HeapVector(HeapVector { pointer: Relative(31), size: Relative(34) }), HeapArray(HeapArray { pointer: Relative(35), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(18), location: 971 }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(31) } }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Direct(32838) }, JumpIf { condition: Relative(18), location: 975 }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(31) } }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(31), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(18) }, Not { destination: Relative(31), source: Relative(31), bit_size: U1 }, JumpIf { condition: Relative(31), location: 981 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(34), op: Equals, bit_size: U32, lhs: Relative(31), rhs: Relative(18) }, Not { destination: Relative(34), source: Relative(34), bit_size: U1 }, JumpIf { condition: Relative(34), location: 989 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(34), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(35), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(36), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Load { destination: Relative(37), source_pointer: Relative(17) }, Const { destination: Relative(38), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(39), op: Equals, bit_size: U32, lhs: Relative(38), rhs: Relative(37) }, Not { destination: Relative(39), source: Relative(39), bit_size: U1 }, JumpIf { condition: Relative(39), location: 1005 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(37), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(37) }, Load { destination: Relative(37), source_pointer: Relative(2) }, Const { destination: Relative(39), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(40), op: Equals, bit_size: U32, lhs: Relative(39), rhs: Relative(37) }, Not { destination: Relative(40), source: Relative(40), bit_size: U1 }, JumpIf { condition: Relative(40), location: 1013 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(37), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(37) }, Store { destination_pointer: Relative(18), source: Direct(32837) }, Store { destination_pointer: Relative(34), source: Direct(32838) }, Store { destination_pointer: Relative(35), source: Relative(29) }, Store { destination_pointer: Relative(36), source: Relative(30) }, JumpIf { condition: Direct(32837), location: 1021 }, Jump { location: 1058 }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1027 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(30) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1035 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(30), source: Relative(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(29) }, Mov { destination: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(50) }, Mov { destination: Relative(5), source: Relative(51) }, Mov { destination: Relative(6), source: Relative(52) }, Mov { destination: Relative(8), source: Relative(53) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Direct(32838), rhs: Relative(5) }, BinaryIntOp { destination: Relative(10), op: LessThanEquals, bit_size: U32, lhs: Direct(32838), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 1053 }, Call { location: 1934 }, Store { destination_pointer: Relative(18), source: Relative(2) }, Store { destination_pointer: Relative(34), source: Relative(9) }, Store { destination_pointer: Relative(35), source: Relative(6) }, Store { destination_pointer: Relative(36), source: Relative(8) }, Jump { location: 1058 }, Load { destination: Relative(2), source_pointer: Relative(18) }, Load { destination: Relative(3), source_pointer: Relative(34) }, Load { destination: Relative(4), source_pointer: Relative(35) }, Load { destination: Relative(5), source_pointer: Relative(36) }, Load { destination: Relative(6), source_pointer: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1068 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(48) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1076 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(2)), MemoryAddress(Relative(3)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(11), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(2), location: 1087 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, JumpIf { condition: Relative(2), location: 1091 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1097 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(17) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1133 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1141 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(10) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(16) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(50) }, Mov { destination: Relative(13), source: Relative(51) }, Mov { destination: Relative(14), source: Relative(52) }, Mov { destination: Relative(15), source: Relative(53) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Store { destination_pointer: Relative(4), source: Relative(13) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Store { destination_pointer: Relative(6), source: Relative(15) }, JumpIf { condition: Relative(10), location: 1161 }, Jump { location: 1198 }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1167 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(15) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1175 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(14) }, Mov { destination: Relative(52), source: Relative(15) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(50) }, Mov { destination: Relative(9), source: Relative(51) }, Mov { destination: Relative(10), source: Relative(52) }, Mov { destination: Relative(11), source: Relative(53) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(9) }, BinaryIntOp { destination: Relative(14), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 1193 }, Call { location: 1934 }, Store { destination_pointer: Relative(1), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Relative(12) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Store { destination_pointer: Relative(6), source: Relative(11) }, Jump { location: 1198 }, Load { destination: Relative(2), source_pointer: Relative(1) }, JumpIf { condition: Relative(2), location: 1201 }, Jump { location: 1241 }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1207 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(5) }, Load { destination: Relative(9), source_pointer: Relative(6) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1218 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(8) }, Mov { destination: Relative(52), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(50) }, Mov { destination: Relative(12), source: Relative(51) }, Mov { destination: Relative(13), source: Relative(52) }, Mov { destination: Relative(14), source: Relative(53) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThanEquals, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, JumpIf { condition: Relative(9), location: 1236 }, Call { location: 1934 }, Store { destination_pointer: Relative(1), source: Relative(10) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(13) }, Store { destination_pointer: Relative(6), source: Relative(14) }, Jump { location: 1241 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(4), source_pointer: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1251 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(48) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1259 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(2)), MemoryAddress(Relative(1)), MemoryAddress(Relative(3)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(9) }), HeapArray(HeapArray { pointer: Relative(10), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(2), location: 1270 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(7) }, JumpIf { condition: Relative(2), location: 1274 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1280 }, 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, Call { location: 1275 }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1291 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1299 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, Load { destination: Relative(12), source_pointer: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1316 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(12), source_pointer: Relative(14) }, Load { destination: Relative(14), source_pointer: Relative(6) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 1326 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Direct(32836) }, JumpIf { condition: Relative(14), location: 1352 }, Jump { location: 1331 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1337 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(16) }, Load { destination: Relative(13), source_pointer: Relative(15) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1937 }, Mov { destination: Relative(14), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Store { destination_pointer: Relative(10), source: Relative(14) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(13), rhs: Relative(12) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Jump { location: 1354 }, Store { destination_pointer: Relative(11), source: Direct(32835) }, Jump { location: 1354 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Load { destination: Relative(1), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Load { destination: Relative(12), source_pointer: Relative(9) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1364 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Direct(32836) }, JumpIf { condition: Relative(9), location: 1394 }, Jump { location: 1369 }, Load { destination: Relative(1), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Load { destination: Relative(12), source_pointer: Relative(9) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1377 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(17) }, Load { destination: Relative(14), source_pointer: Relative(16) }, Mov { destination: Direct(32771), source: Relative(9) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1937 }, Mov { destination: Relative(15), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(12) }, Store { destination_pointer: Relative(10), source: Relative(15) }, Load { destination: Relative(1), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U8, lhs: Relative(14), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(1), rhs: Relative(9) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Jump { location: 1396 }, Store { destination_pointer: Relative(11), source: Direct(32835) }, Jump { location: 1396 }, Load { destination: Relative(13), source_pointer: Relative(11) }, JumpIf { condition: Relative(13), location: 1404 }, Jump { location: 1399 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(8), source: Direct(32836) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(12), source: Relative(6) }, Jump { location: 1411 }, Load { destination: Relative(11), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(8), source: Direct(32839) }, Mov { destination: Relative(9), source: Relative(11) }, Mov { destination: Relative(12), source: Relative(7) }, Jump { location: 1411 }, JumpIf { condition: Relative(1), location: 1418 }, Jump { location: 1413 }, Mov { destination: Relative(7), source: Direct(32835) }, Mov { destination: Relative(10), source: Direct(32836) }, Mov { destination: Relative(11), source: Relative(5) }, Mov { destination: Relative(13), source: Relative(6) }, Jump { location: 1587 }, Load { destination: Relative(17), source_pointer: Relative(12) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(17) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1424 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(2) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(17) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1432 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(3) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1440 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(12) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1448 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1456 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(12) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(17) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1464 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(17) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 28 }, Mov { destination: Relative(28), source: Direct(0) }, Mov { destination: Relative(29), source: Relative(2) }, Mov { destination: Relative(30), source: Relative(9) }, Mov { destination: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(27) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(17), source: Relative(29) }, Mov { destination: Relative(24), source: Relative(30) }, Mov { destination: Relative(25), source: Relative(31) }, Mov { destination: Relative(26), source: Relative(32) }, JumpIf { condition: Relative(17), location: 1497 }, Jump { location: 1480 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 21 }, Mov { destination: Relative(21), source: Direct(0) }, Mov { destination: Relative(22), source: Relative(3) }, Mov { destination: Relative(23), source: Relative(9) }, Mov { destination: Relative(24), source: Relative(12) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(17) }, Mov { destination: Relative(15), source: Relative(18) }, Mov { destination: Relative(16), source: Relative(19) }, Jump { location: 1502 }, Mov { destination: Relative(1), source: Relative(17) }, Mov { destination: Relative(14), source: Relative(24) }, Mov { destination: Relative(15), source: Relative(25) }, Mov { destination: Relative(16), source: Relative(26) }, Jump { location: 1502 }, JumpIf { condition: Relative(1), location: 1509 }, Jump { location: 1504 }, Mov { destination: Relative(2), source: Direct(32835) }, Mov { destination: Relative(3), source: Direct(32836) }, Mov { destination: Relative(17), source: Relative(9) }, Mov { destination: Relative(18), source: Relative(12) }, Jump { location: 1558 }, Load { destination: Relative(22), source_pointer: Relative(16) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1515 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(22) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 28 }, Mov { destination: Relative(28), source: Direct(0) }, Mov { destination: Relative(29), source: Relative(4) }, Mov { destination: Relative(30), source: Relative(15) }, Mov { destination: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(27) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(22), source: Relative(29) }, Mov { destination: Relative(24), source: Relative(30) }, Mov { destination: Relative(25), source: Relative(31) }, Mov { destination: Relative(26), source: Relative(32) }, JumpIf { condition: Relative(22), location: 1544 }, Jump { location: 1531 }, Load { destination: Relative(4), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1537 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(4) }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(19), source: Direct(32836) }, Mov { destination: Relative(20), source: Relative(9) }, Mov { destination: Relative(21), source: Relative(12) }, Jump { location: 1553 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(24) }, BinaryIntOp { destination: Relative(9), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 1548 }, Call { location: 1934 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(19), source: Relative(4) }, Mov { destination: Relative(20), source: Relative(25) }, Mov { destination: Relative(21), source: Relative(26) }, Jump { location: 1553 }, Mov { destination: Relative(2), source: Relative(1) }, Mov { destination: Relative(3), source: Relative(19) }, Mov { destination: Relative(17), source: Relative(20) }, Mov { destination: Relative(18), source: Relative(21) }, Jump { location: 1558 }, JumpIf { condition: Relative(2), location: 1573 }, Jump { location: 1560 }, Load { destination: Relative(2), source_pointer: Relative(6) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1566 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(2) }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(4), source: Direct(32836) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(12), source: Relative(6) }, Jump { location: 1582 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(5), location: 1577 }, Call { location: 1934 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(4), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Jump { location: 1582 }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(4) }, Mov { destination: Relative(11), source: Relative(9) }, Mov { destination: Relative(13), source: Relative(12) }, Jump { location: 1587 }, Mov { destination: Relative(2), source: Relative(10) }, Mov { destination: Relative(1), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(13) }, Mov { destination: Relative(3), source: Relative(11) }, Return, Call { location: 1275 }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1599 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1607 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, Load { destination: Relative(12), source_pointer: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1624 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(12) }, Mov { destination: Relative(6), source: Direct(32836) }, Jump { location: 1628 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, JumpIf { condition: Relative(8), location: 1807 }, Jump { location: 1631 }, Load { destination: Relative(12), source_pointer: Relative(11) }, JumpIf { condition: Relative(12), location: 1639 }, Jump { location: 1634 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1646 }, Load { destination: Relative(11), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(6), source: Direct(32840) }, Mov { destination: Relative(8), source: Relative(11) }, Mov { destination: Relative(9), source: Relative(7) }, Jump { location: 1646 }, JumpIf { condition: Relative(1), location: 1653 }, Jump { location: 1648 }, Mov { destination: Relative(7), source: Direct(32835) }, Mov { destination: Relative(10), source: Direct(32836) }, Mov { destination: Relative(11), source: Relative(4) }, Mov { destination: Relative(12), source: Relative(5) }, Jump { location: 1802 }, Load { destination: Relative(16), source_pointer: Relative(9) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(16) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1659 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(16) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1667 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(16) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1675 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(16) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1683 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(9) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(16) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1691 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 26 }, Mov { destination: Relative(26), source: Direct(0) }, Mov { destination: Relative(27), source: Relative(2) }, Mov { destination: Relative(28), source: Relative(8) }, Mov { destination: Relative(29), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(25) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(27) }, Mov { destination: Relative(22), source: Relative(28) }, Mov { destination: Relative(23), source: Relative(29) }, Mov { destination: Relative(24), source: Relative(30) }, Not { destination: Relative(2), source: Relative(16), bit_size: U1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U1, lhs: Relative(16), rhs: Relative(2) }, Cast { destination: Relative(26), source: Relative(16), bit_size: Integer(U32) }, Cast { destination: Relative(27), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(28), op: Mul, bit_size: U32, lhs: Relative(26), rhs: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U32, lhs: Relative(27), rhs: Relative(8) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(23) }, ConditionalMov { destination: Relative(23), source_a: Relative(24), source_b: Relative(9), condition: Relative(16) }, Mov { destination: Direct(32771), source: Relative(23) }, Call { location: 1979 }, Mov { destination: Relative(22), source: Direct(32772) }, JumpIf { condition: Relative(25), location: 1724 }, Jump { location: 1719 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(13), source: Direct(32836) }, Mov { destination: Relative(14), source: Relative(8) }, Mov { destination: Relative(15), source: Relative(9) }, Jump { location: 1773 }, Load { destination: Relative(19), source_pointer: Relative(22) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1730 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(19) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 29 }, Mov { destination: Relative(29), source: Direct(0) }, Mov { destination: Relative(30), source: Relative(3) }, Mov { destination: Relative(31), source: Relative(26) }, Mov { destination: Relative(32), source: Relative(22) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(25) }, Call { location: 1853 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(19), source: Relative(30) }, Mov { destination: Relative(21), source: Relative(31) }, Mov { destination: Relative(23), source: Relative(32) }, Mov { destination: Relative(24), source: Relative(33) }, JumpIf { condition: Relative(19), location: 1759 }, Jump { location: 1746 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(3) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1752 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(3) }, Mov { destination: Relative(2), source: Direct(32835) }, Mov { destination: Relative(16), source: Direct(32836) }, Mov { destination: Relative(17), source: Relative(8) }, Mov { destination: Relative(18), source: Relative(9) }, Jump { location: 1768 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(28), rhs: Relative(21) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(28), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 1763 }, Call { location: 1934 }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(16), source: Relative(3) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Jump { location: 1768 }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(14), source: Relative(17) }, Mov { destination: Relative(15), source: Relative(18) }, Jump { location: 1773 }, JumpIf { condition: Relative(1), location: 1788 }, Jump { location: 1775 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1781 }, Call { location: 1281 }, 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(2), source: Direct(32835) }, Mov { destination: Relative(3), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1797 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(13) }, BinaryIntOp { destination: Relative(4), op: LessThanEquals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 1792 }, Call { location: 1934 }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Jump { location: 1797 }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Relative(8) }, Mov { destination: Relative(12), source: Relative(9) }, Jump { location: 1802 }, Mov { destination: Relative(2), source: Relative(10) }, Mov { destination: Relative(1), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(11) }, Mov { destination: Relative(4), source: Relative(12) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(12) }, Load { destination: Relative(9), source_pointer: Relative(7) }, Load { destination: Relative(12), source_pointer: Relative(10) }, Load { destination: Relative(13), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1818 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32836) }, JumpIf { condition: Relative(12), location: 1848 }, Jump { location: 1823 }, Load { destination: Relative(9), source_pointer: Relative(7) }, Load { destination: Relative(12), source_pointer: Relative(10) }, Load { destination: Relative(13), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1831 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(13) }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(17) }, Mov { destination: Direct(32771), source: Relative(12) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1937 }, Mov { destination: Relative(16), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Store { destination_pointer: Relative(10), source: Relative(16) }, Load { destination: Relative(9), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U8, lhs: Relative(15), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(12) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Jump { location: 1850 }, Store { destination_pointer: Relative(11), source: Direct(32835) }, Jump { location: 1850 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32838) }, Mov { destination: Relative(6), source: Relative(8) }, Jump { location: 1628 }, Call { location: 1275 }, Load { destination: Relative(4), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1860 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32837) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1877 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(1) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1887 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(1), location: 1913 }, Jump { location: 1892 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1898 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(12) }, Load { destination: Relative(9), source_pointer: Relative(11) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1937 }, Mov { destination: Relative(10), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U8, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Jump { location: 1915 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 1915 }, Load { destination: Relative(10), source_pointer: Relative(7) }, JumpIf { condition: Relative(10), location: 1923 }, Jump { location: 1918 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(5), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1930 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(32838) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1930 }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(5) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32778), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32779), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32779), location: 1947 }, Jump { location: 1955 }, BinaryIntOp { destination: Direct(32773), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 1978 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32778) }, Mov { destination: Direct(32784), source: Direct(32781) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1977 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1970 }, Jump { location: 1978 }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 1983 }, Jump { location: 1985 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 2004 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 2002 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1995 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 2004 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32841 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32841), size_address: Relative(1), offset_address: Relative(2) }, Call { location: 11 }, Call { location: 18 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32841 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U1), value: 0 }, Const { destination: Direct(32836), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 4 }, Return, Call { location: 1275 }, Const { destination: Relative(1), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(2), bit_size: Integer(U8), value: 114 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(4) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U8), value: 97 }, Mov { destination: Relative(5), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U8), value: 101 }, Mov { destination: Relative(7), source: Direct(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Relative(9), source: Relative(8) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U8), value: 121 }, Mov { destination: Relative(9), source: Direct(1) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 2 }, 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(8) }, Load { destination: Relative(10), source_pointer: Relative(3) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 60 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(5) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 68 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(7) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(10) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 76 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(10) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 84 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(10), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(1) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 20 }, Mov { destination: Relative(20), source: Direct(0) }, Mov { destination: Relative(21), source: Relative(3) }, Mov { destination: Relative(22), source: Relative(5) }, Mov { destination: Relative(23), source: Relative(7) }, Mov { destination: Relative(24), source: Relative(9) }, Mov { destination: Relative(25), source: Direct(32840) }, Mov { destination: Relative(26), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(19) }, Call { location: 1284 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(21) }, Mov { destination: Relative(16), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Load { destination: Relative(10), source_pointer: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 127 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(10) }, Const { destination: Relative(10), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(20), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 109 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 77 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 102 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(40), bit_size: Integer(U8), value: 93 }, Const { destination: Relative(41), bit_size: Integer(U8), value: 95 }, Const { destination: Relative(42), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(43), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(44), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(45), bit_size: Integer(U8), value: 118 }, Const { destination: Relative(46), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(47), bit_size: Integer(U8), value: 56 }, Mov { destination: Relative(48), source: Direct(1) }, Const { destination: Relative(49), bit_size: Integer(U32), value: 204 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(49) }, IndirectConst { destination_pointer: Relative(48), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(49), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, Mov { destination: Relative(50), source: Relative(49) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(32) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(37) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(31) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(4) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(41) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(43) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(44) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(36) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(34) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(38) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(45) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(35) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(29) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(8) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(46) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(10) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(21) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(28) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(26) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(23) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(1) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(30) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(42) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(22) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(24) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(27) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(33) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(20) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(25) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(47) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(40) }, BinaryIntOp { destination: Relative(50), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(39) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(21) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(4), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 578 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Direct(32840) }, JumpIf { condition: Relative(4), location: 582 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(10) } }, Const { destination: Relative(10), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), 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(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(10) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(2) }, 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(8) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(3) }, Mov { destination: Relative(51), source: Relative(5) }, Mov { destination: Relative(52), source: Relative(7) }, Mov { destination: Relative(53), source: Relative(9) }, Mov { destination: Relative(54), source: Direct(32840) }, Mov { destination: Relative(55), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1284 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(50) }, Mov { destination: Relative(6), source: Relative(51) }, Mov { destination: Relative(8), source: Relative(52) }, Mov { destination: Relative(10), source: Relative(53) }, Load { destination: Relative(3), source_pointer: Relative(10) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 623 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(48) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 631 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(3) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(9) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(15) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(1)), MemoryAddress(Relative(6)), MemoryAddress(Relative(8)), HeapVector(HeapVector { pointer: Relative(3), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(9), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 642 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, JumpIf { condition: Relative(1), location: 646 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Mov { destination: Relative(1), source: Direct(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Relative(3) }, Store { destination_pointer: Relative(6), source: Relative(29) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(35) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(38) }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(6) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(6) }, Store { destination_pointer: Relative(7), source: Relative(28) }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, 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(2) }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 679 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(3) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 687 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(7) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 695 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(15) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(21) }, Call { location: 1576 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(50) }, Mov { destination: Relative(17), source: Relative(51) }, Mov { destination: Relative(18), source: Relative(52) }, Mov { destination: Relative(20), source: Relative(53) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(7) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 740 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(48) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(7) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 748 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(7) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Load { destination: Relative(23), source_pointer: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(25) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), MemoryAddress(Relative(18)), HeapVector(HeapVector { pointer: Relative(7), size: Relative(23) }), HeapArray(HeapArray { pointer: Relative(24), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(16), location: 759 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, JumpIf { condition: Relative(7), location: 763 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(17) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(15) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(15) }, Store { destination_pointer: Relative(16), source: Relative(29) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(35) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(38) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(28) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(1) }, Mov { destination: Relative(51), source: Relative(3) }, Mov { destination: Relative(52), source: Relative(6) }, Mov { destination: Relative(53), source: Relative(2) }, Mov { destination: Relative(54), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1576 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(15), source: Relative(50) }, Mov { destination: Relative(16), source: Relative(51) }, Mov { destination: Relative(17), source: Relative(52) }, Mov { destination: Relative(18), source: Relative(53) }, Load { destination: Relative(1), source_pointer: Relative(18) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 808 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(48) }, 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: 816 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(1) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(7), source_pointer: Relative(20) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(23) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(15)), MemoryAddress(Relative(16)), MemoryAddress(Relative(17)), HeapVector(HeapVector { pointer: Relative(1), size: Relative(7) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(15), location: 827 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(1) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(2) }, JumpIf { condition: Relative(1), location: 831 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(1), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(16) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(15) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(7) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(15) }, Mov { destination: Relative(15), source: Relative(7) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(1) }, Load { destination: Relative(7), source_pointer: Relative(2) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(7) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 856 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(48) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(7) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 864 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(7) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Load { destination: Relative(18), source_pointer: Relative(20) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(23) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Direct(32837)), MemoryAddress(Direct(32836)), MemoryAddress(Relative(7)), HeapVector(HeapVector { pointer: Relative(17), size: Relative(18) }), HeapArray(HeapArray { pointer: Relative(20), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Mov { destination: Relative(17), source: Direct(1) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(18) }, IndirectConst { destination_pointer: Relative(17), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Relative(20), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(18) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 886 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(48) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(18) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 894 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(18) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Load { destination: Relative(24), source_pointer: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(26) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Direct(32837)), MemoryAddress(Direct(32836)), MemoryAddress(Relative(7)), HeapVector(HeapVector { pointer: Relative(18), size: Relative(24) }), HeapArray(HeapArray { pointer: Relative(25), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(18) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 908 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(18) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 916 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(18) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 924 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(18) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 932 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Const { destination: Relative(31), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(7) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(31) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(18), source: Relative(50) }, Mov { destination: Relative(28), source: Relative(51) }, Mov { destination: Relative(29), source: Relative(52) }, Mov { destination: Relative(30), source: Relative(53) }, Load { destination: Relative(31), source_pointer: Relative(30) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(32), rhs: Relative(31) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 952 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(30), source: Relative(31) }, Load { destination: Relative(31), source_pointer: Relative(48) }, Const { destination: Relative(33), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(34), op: Equals, bit_size: U32, lhs: Relative(33), rhs: Relative(31) }, Not { destination: Relative(34), source: Relative(34), bit_size: U1 }, JumpIf { condition: Relative(34), location: 960 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(31), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(31) }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(30), rhs: Direct(2) }, Load { destination: Relative(34), source_pointer: Relative(35) }, Const { destination: Relative(36), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(35), rhs: Relative(36) }, BinaryIntOp { destination: Relative(35), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(18)), MemoryAddress(Relative(28)), MemoryAddress(Relative(29)), HeapVector(HeapVector { pointer: Relative(31), size: Relative(34) }), HeapArray(HeapArray { pointer: Relative(35), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(18), location: 971 }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(31) } }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Direct(32838) }, JumpIf { condition: Relative(18), location: 975 }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(31) } }, Load { destination: Relative(18), source_pointer: Relative(17) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(31), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(18) }, Not { destination: Relative(31), source: Relative(31), bit_size: U1 }, JumpIf { condition: Relative(31), location: 981 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(2) }, Const { destination: Relative(31), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(34), op: Equals, bit_size: U32, lhs: Relative(31), rhs: Relative(18) }, Not { destination: Relative(34), source: Relative(34), bit_size: U1 }, JumpIf { condition: Relative(34), location: 989 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(18) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(34), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(35), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(36), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Load { destination: Relative(37), source_pointer: Relative(17) }, Const { destination: Relative(38), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(39), op: Equals, bit_size: U32, lhs: Relative(38), rhs: Relative(37) }, Not { destination: Relative(39), source: Relative(39), bit_size: U1 }, JumpIf { condition: Relative(39), location: 1005 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(37), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(37) }, Load { destination: Relative(37), source_pointer: Relative(2) }, Const { destination: Relative(39), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(40), op: Equals, bit_size: U32, lhs: Relative(39), rhs: Relative(37) }, Not { destination: Relative(40), source: Relative(40), bit_size: U1 }, JumpIf { condition: Relative(40), location: 1013 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(37), op: Add, bit_size: U32, lhs: Relative(37), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(37) }, Store { destination_pointer: Relative(18), source: Direct(32837) }, Store { destination_pointer: Relative(34), source: Direct(32838) }, Store { destination_pointer: Relative(35), source: Relative(29) }, Store { destination_pointer: Relative(36), source: Relative(30) }, JumpIf { condition: Direct(32837), location: 1021 }, Jump { location: 1058 }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1027 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(30) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1035 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(30), source: Relative(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(29) }, Mov { destination: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(50) }, Mov { destination: Relative(5), source: Relative(51) }, Mov { destination: Relative(6), source: Relative(52) }, Mov { destination: Relative(8), source: Relative(53) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Direct(32838), rhs: Relative(5) }, BinaryIntOp { destination: Relative(10), op: LessThanEquals, bit_size: U32, lhs: Direct(32838), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 1053 }, Call { location: 1902 }, Store { destination_pointer: Relative(18), source: Relative(2) }, Store { destination_pointer: Relative(34), source: Relative(9) }, Store { destination_pointer: Relative(35), source: Relative(6) }, Store { destination_pointer: Relative(36), source: Relative(8) }, Jump { location: 1058 }, Load { destination: Relative(2), source_pointer: Relative(18) }, Load { destination: Relative(3), source_pointer: Relative(34) }, Load { destination: Relative(4), source_pointer: Relative(35) }, Load { destination: Relative(5), source_pointer: Relative(36) }, Load { destination: Relative(6), source_pointer: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1068 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(48) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1076 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(12) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(2)), MemoryAddress(Relative(3)), MemoryAddress(Relative(4)), HeapVector(HeapVector { pointer: Relative(6), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(11), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(2), location: 1087 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, JumpIf { condition: Relative(2), location: 1091 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1097 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(17) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1133 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(10) }, Load { destination: Relative(10), source_pointer: Relative(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1141 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(10) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Direct(32840) }, Mov { destination: Relative(52), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(16) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(50) }, Mov { destination: Relative(13), source: Relative(51) }, Mov { destination: Relative(14), source: Relative(52) }, Mov { destination: Relative(15), source: Relative(53) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Store { destination_pointer: Relative(4), source: Relative(13) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Store { destination_pointer: Relative(6), source: Relative(15) }, JumpIf { condition: Relative(10), location: 1161 }, Jump { location: 1198 }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1167 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(15) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1175 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(14) }, Mov { destination: Relative(52), source: Relative(15) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(12) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(50) }, Mov { destination: Relative(9), source: Relative(51) }, Mov { destination: Relative(10), source: Relative(52) }, Mov { destination: Relative(11), source: Relative(53) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(9) }, BinaryIntOp { destination: Relative(14), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 1193 }, Call { location: 1902 }, Store { destination_pointer: Relative(1), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Relative(12) }, Store { destination_pointer: Relative(5), source: Relative(10) }, Store { destination_pointer: Relative(6), source: Relative(11) }, Jump { location: 1198 }, Load { destination: Relative(2), source_pointer: Relative(1) }, JumpIf { condition: Relative(2), location: 1201 }, Jump { location: 1241 }, Load { destination: Relative(2), source_pointer: Relative(17) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1207 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(8), source_pointer: Relative(5) }, Load { destination: Relative(9), source_pointer: Relative(6) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1218 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 49 }, Mov { destination: Relative(49), source: Direct(0) }, Mov { destination: Relative(50), source: Relative(17) }, Mov { destination: Relative(51), source: Relative(8) }, Mov { destination: Relative(52), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(15) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(10), source: Relative(50) }, Mov { destination: Relative(12), source: Relative(51) }, Mov { destination: Relative(13), source: Relative(52) }, Mov { destination: Relative(14), source: Relative(53) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(12) }, BinaryIntOp { destination: Relative(9), op: LessThanEquals, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, JumpIf { condition: Relative(9), location: 1236 }, Call { location: 1902 }, Store { destination_pointer: Relative(1), source: Relative(10) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(13) }, Store { destination_pointer: Relative(6), source: Relative(14) }, Jump { location: 1241 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(4), source_pointer: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1251 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(48) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1259 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(48), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(48), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Direct(32837)), MemoryAddress(Relative(2)), MemoryAddress(Relative(1)), MemoryAddress(Relative(3)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(9) }), HeapArray(HeapArray { pointer: Relative(10), size: 203 }), MemoryAddress(Direct(32835))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(2), location: 1270 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(7) }, JumpIf { condition: Relative(2), location: 1274 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1280 }, 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, Call { location: 1275 }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1291 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1299 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, Load { destination: Relative(12), source_pointer: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1316 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(12) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(12), source_pointer: Relative(14) }, Load { destination: Relative(14), source_pointer: Relative(6) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 1326 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Direct(32836) }, JumpIf { condition: Relative(14), location: 1352 }, Jump { location: 1331 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1337 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(16) }, Load { destination: Relative(13), source_pointer: Relative(15) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1905 }, Mov { destination: Relative(14), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Store { destination_pointer: Relative(10), source: Relative(14) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(13), rhs: Relative(12) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Jump { location: 1354 }, Store { destination_pointer: Relative(11), source: Direct(32835) }, Jump { location: 1354 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32839) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Load { destination: Relative(1), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Load { destination: Relative(12), source_pointer: Relative(9) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1364 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Direct(32836) }, JumpIf { condition: Relative(9), location: 1394 }, Jump { location: 1369 }, Load { destination: Relative(1), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Load { destination: Relative(12), source_pointer: Relative(9) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1377 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(17) }, Load { destination: Relative(14), source_pointer: Relative(16) }, Mov { destination: Direct(32771), source: Relative(9) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1905 }, Mov { destination: Relative(15), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(12) }, Store { destination_pointer: Relative(10), source: Relative(15) }, Load { destination: Relative(1), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U8, lhs: Relative(14), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(1), rhs: Relative(9) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Jump { location: 1396 }, Store { destination_pointer: Relative(11), source: Direct(32835) }, Jump { location: 1396 }, Load { destination: Relative(13), source_pointer: Relative(11) }, JumpIf { condition: Relative(13), location: 1404 }, Jump { location: 1399 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(8), source: Direct(32836) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(12), source: Relative(6) }, Jump { location: 1411 }, Load { destination: Relative(11), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(8), source: Direct(32839) }, Mov { destination: Relative(9), source: Relative(11) }, Mov { destination: Relative(12), source: Relative(7) }, Jump { location: 1411 }, JumpIf { condition: Relative(1), location: 1418 }, Jump { location: 1413 }, Mov { destination: Relative(7), source: Direct(32835) }, Mov { destination: Relative(10), source: Direct(32836) }, Mov { destination: Relative(11), source: Relative(5) }, Mov { destination: Relative(13), source: Relative(6) }, Jump { location: 1571 }, Load { destination: Relative(17), source_pointer: Relative(12) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(17) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1424 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(2) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(17) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1432 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(3) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1440 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(12) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1448 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1456 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(17) }, Load { destination: Relative(17), source_pointer: Relative(12) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(17) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1464 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(17) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 28 }, Mov { destination: Relative(28), source: Direct(0) }, Mov { destination: Relative(29), source: Relative(2) }, Mov { destination: Relative(30), source: Relative(9) }, Mov { destination: Relative(31), source: Relative(12) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(27) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(17), source: Relative(29) }, Mov { destination: Relative(24), source: Relative(30) }, Mov { destination: Relative(25), source: Relative(31) }, Mov { destination: Relative(26), source: Relative(32) }, JumpIf { condition: Relative(17), location: 1497 }, Jump { location: 1480 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 21 }, Mov { destination: Relative(21), source: Direct(0) }, Mov { destination: Relative(22), source: Relative(3) }, Mov { destination: Relative(23), source: Relative(9) }, Mov { destination: Relative(24), source: Relative(12) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(20) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(22) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Mov { destination: Relative(19), source: Relative(25) }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(14), source: Relative(17) }, Mov { destination: Relative(15), source: Relative(18) }, Mov { destination: Relative(16), source: Relative(19) }, Jump { location: 1502 }, Mov { destination: Relative(1), source: Relative(17) }, Mov { destination: Relative(14), source: Relative(24) }, Mov { destination: Relative(15), source: Relative(25) }, Mov { destination: Relative(16), source: Relative(26) }, Jump { location: 1502 }, JumpIf { condition: Relative(1), location: 1509 }, Jump { location: 1504 }, Mov { destination: Relative(2), source: Direct(32835) }, Mov { destination: Relative(3), source: Direct(32836) }, Mov { destination: Relative(17), source: Relative(9) }, Mov { destination: Relative(18), source: Relative(12) }, Jump { location: 1550 }, Load { destination: Relative(22), source_pointer: Relative(16) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1515 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(22) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 28 }, Mov { destination: Relative(28), source: Direct(0) }, Mov { destination: Relative(29), source: Relative(4) }, Mov { destination: Relative(30), source: Relative(15) }, Mov { destination: Relative(31), source: Relative(16) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(27) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(22), source: Relative(29) }, Mov { destination: Relative(24), source: Relative(30) }, Mov { destination: Relative(25), source: Relative(31) }, Mov { destination: Relative(26), source: Relative(32) }, JumpIf { condition: Relative(22), location: 1536 }, Jump { location: 1531 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(19), source: Direct(32836) }, Mov { destination: Relative(20), source: Relative(9) }, Mov { destination: Relative(21), source: Relative(12) }, Jump { location: 1545 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(24) }, BinaryIntOp { destination: Relative(9), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 1540 }, Call { location: 1902 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(19), source: Relative(4) }, Mov { destination: Relative(20), source: Relative(25) }, Mov { destination: Relative(21), source: Relative(26) }, Jump { location: 1545 }, Mov { destination: Relative(2), source: Relative(1) }, Mov { destination: Relative(3), source: Relative(19) }, Mov { destination: Relative(17), source: Relative(20) }, Mov { destination: Relative(18), source: Relative(21) }, Jump { location: 1550 }, JumpIf { condition: Relative(2), location: 1557 }, Jump { location: 1552 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(4), source: Direct(32836) }, Mov { destination: Relative(9), source: Relative(5) }, Mov { destination: Relative(12), source: Relative(6) }, Jump { location: 1566 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(5), location: 1561 }, Call { location: 1902 }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(4), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(17) }, Mov { destination: Relative(12), source: Relative(18) }, Jump { location: 1566 }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(4) }, Mov { destination: Relative(11), source: Relative(9) }, Mov { destination: Relative(13), source: Relative(12) }, Jump { location: 1571 }, Mov { destination: Relative(2), source: Relative(10) }, Mov { destination: Relative(1), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(13) }, Mov { destination: Relative(3), source: Relative(11) }, Return, Call { location: 1275 }, Load { destination: Relative(7), source_pointer: Relative(1) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1583 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1591 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32837) }, Load { destination: Relative(12), source_pointer: Relative(1) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(13), rhs: Relative(12) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1608 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(12) }, Mov { destination: Relative(6), source: Direct(32836) }, Jump { location: 1612 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Direct(32840) }, JumpIf { condition: Relative(8), location: 1775 }, Jump { location: 1615 }, Load { destination: Relative(12), source_pointer: Relative(11) }, JumpIf { condition: Relative(12), location: 1623 }, Jump { location: 1618 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(6), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1630 }, Load { destination: Relative(11), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(6), source: Direct(32840) }, Mov { destination: Relative(8), source: Relative(11) }, Mov { destination: Relative(9), source: Relative(7) }, Jump { location: 1630 }, JumpIf { condition: Relative(1), location: 1637 }, Jump { location: 1632 }, Mov { destination: Relative(7), source: Direct(32835) }, Mov { destination: Relative(10), source: Direct(32836) }, Mov { destination: Relative(11), source: Relative(4) }, Mov { destination: Relative(12), source: Relative(5) }, Jump { location: 1770 }, Load { destination: Relative(16), source_pointer: Relative(9) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(16) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1643 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(16) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1651 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(16) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1659 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(16) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1667 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(16) }, Load { destination: Relative(16), source_pointer: Relative(9) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(16) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1675 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 26 }, Mov { destination: Relative(26), source: Direct(0) }, Mov { destination: Relative(27), source: Relative(2) }, Mov { destination: Relative(28), source: Relative(8) }, Mov { destination: Relative(29), source: Relative(9) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(25) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(16), source: Relative(27) }, Mov { destination: Relative(22), source: Relative(28) }, Mov { destination: Relative(23), source: Relative(29) }, Mov { destination: Relative(24), source: Relative(30) }, Not { destination: Relative(2), source: Relative(16), bit_size: U1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U1, lhs: Relative(16), rhs: Relative(2) }, Cast { destination: Relative(26), source: Relative(16), bit_size: Integer(U32) }, Cast { destination: Relative(27), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(28), op: Mul, bit_size: U32, lhs: Relative(26), rhs: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U32, lhs: Relative(27), rhs: Relative(8) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(23) }, ConditionalMov { destination: Relative(23), source_a: Relative(24), source_b: Relative(9), condition: Relative(16) }, Mov { destination: Direct(32771), source: Relative(23) }, Call { location: 1947 }, Mov { destination: Relative(22), source: Direct(32772) }, JumpIf { condition: Relative(25), location: 1708 }, Jump { location: 1703 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(13), source: Direct(32836) }, Mov { destination: Relative(14), source: Relative(8) }, Mov { destination: Relative(15), source: Relative(9) }, Jump { location: 1749 }, Load { destination: Relative(19), source_pointer: Relative(22) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1714 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(19) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 29 }, Mov { destination: Relative(29), source: Direct(0) }, Mov { destination: Relative(30), source: Relative(3) }, Mov { destination: Relative(31), source: Relative(26) }, Mov { destination: Relative(32), source: Relative(22) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(25) }, Call { location: 1821 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(19), source: Relative(30) }, Mov { destination: Relative(21), source: Relative(31) }, Mov { destination: Relative(23), source: Relative(32) }, Mov { destination: Relative(24), source: Relative(33) }, JumpIf { condition: Relative(19), location: 1735 }, Jump { location: 1730 }, Mov { destination: Relative(2), source: Direct(32835) }, Mov { destination: Relative(16), source: Direct(32836) }, Mov { destination: Relative(17), source: Relative(8) }, Mov { destination: Relative(18), source: Relative(9) }, Jump { location: 1744 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(28), rhs: Relative(21) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(28), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 1739 }, Call { location: 1902 }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(16), source: Relative(3) }, Mov { destination: Relative(17), source: Relative(23) }, Mov { destination: Relative(18), source: Relative(24) }, Jump { location: 1744 }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(13), source: Relative(16) }, Mov { destination: Relative(14), source: Relative(17) }, Mov { destination: Relative(15), source: Relative(18) }, Jump { location: 1749 }, JumpIf { condition: Relative(1), location: 1756 }, Jump { location: 1751 }, Mov { destination: Relative(2), source: Direct(32835) }, Mov { destination: Relative(3), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(4) }, Mov { destination: Relative(9), source: Relative(5) }, Jump { location: 1765 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(13) }, BinaryIntOp { destination: Relative(4), op: LessThanEquals, bit_size: U32, lhs: Relative(6), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 1760 }, Call { location: 1902 }, Mov { destination: Relative(2), source: Direct(32837) }, Mov { destination: Relative(3), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(9), source: Relative(15) }, Jump { location: 1765 }, Mov { destination: Relative(7), source: Relative(2) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Relative(8) }, Mov { destination: Relative(12), source: Relative(9) }, Jump { location: 1770 }, Mov { destination: Relative(2), source: Relative(10) }, Mov { destination: Relative(1), source: Relative(7) }, Mov { destination: Relative(3), source: Relative(11) }, Mov { destination: Relative(4), source: Relative(12) }, Return, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(12) }, Load { destination: Relative(9), source_pointer: Relative(7) }, Load { destination: Relative(12), source_pointer: Relative(10) }, Load { destination: Relative(13), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1786 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(13) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Direct(32836) }, JumpIf { condition: Relative(12), location: 1816 }, Jump { location: 1791 }, Load { destination: Relative(9), source_pointer: Relative(7) }, Load { destination: Relative(12), source_pointer: Relative(10) }, Load { destination: Relative(13), source_pointer: Relative(12) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1799 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(13), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(13) }, BinaryIntOp { destination: Relative(13), op: Sub, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(17) }, Mov { destination: Direct(32771), source: Relative(12) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1905 }, Mov { destination: Relative(16), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(13) }, Store { destination_pointer: Relative(10), source: Relative(16) }, Load { destination: Relative(9), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U8, lhs: Relative(15), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(12) }, Store { destination_pointer: Relative(11), source: Relative(8) }, Jump { location: 1818 }, Store { destination_pointer: Relative(11), source: Direct(32835) }, Jump { location: 1818 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32838) }, Mov { destination: Relative(6), source: Relative(8) }, Jump { location: 1612 }, Call { location: 1275 }, Load { destination: Relative(4), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1828 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32837) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1845 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(1) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1855 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(1), location: 1881 }, Jump { location: 1860 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1866 }, Call { location: 1281 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(12) }, Load { destination: Relative(9), source_pointer: Relative(11) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1905 }, Mov { destination: Relative(10), source: Direct(32773) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U8, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Jump { location: 1883 }, Store { destination_pointer: Relative(7), source: Direct(32835) }, Jump { location: 1883 }, Load { destination: Relative(10), source_pointer: Relative(7) }, JumpIf { condition: Relative(10), location: 1891 }, Jump { location: 1886 }, Mov { destination: Relative(1), source: Direct(32835) }, Mov { destination: Relative(5), source: Direct(32836) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1898 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Mov { destination: Relative(1), source: Direct(32837) }, Mov { destination: Relative(5), source: Direct(32838) }, Mov { destination: Relative(8), source: Relative(2) }, Mov { destination: Relative(9), source: Relative(3) }, Jump { location: 1898 }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(5) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32778), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32779), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32779), location: 1915 }, Jump { location: 1923 }, BinaryIntOp { destination: Direct(32773), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 1946 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32778) }, Mov { destination: Direct(32784), source: Direct(32781) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1945 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1938 }, Jump { location: 1946 }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 1951 }, Jump { location: 1953 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 1972 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1970 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1963 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 1972 }, Return]" ], - "debug_symbols": "tZzLjhzHEUX/ZdZcVMYjM1K/IggCJY0MAgQl0KQBQ+C/uzLr3jvWogd0t2ejOBTZN2qi62Q9yb+efnv+5es/fv7w6fc//vn0w49/Pf3y+cPHjx/+8fPHP359/+XDH5/O//vX07H+U/3ph/buqcZV6ipzl3lcpV3FruJXiavkVa6UeaXMK2VeKe04UBuqoTpqoCbqGWarDtRCnVdtB2pDNVRHDdRERV5DXkNeQ54hz5BnyDPkGfIMeYY8Q54hz868PKsfqA3VUB01UBO1ow7UQkVeIC+QF8gL5AXyAnmBvEBeIC+Ql8hL5CXyEnmJvEReIi+Rl8hL5HXkdeR15HXkdeR15HXkdeR15HXkDeQN5A3kDeQN5A3kDeQN5A3kDeQV8gp5hbxCXiGvkFfIK+QV8gp5E3kTeRN5E3kTeRN5E3kTeRN588qz40BtqIbqqIGaqB11oBYq8hryGvIa8hryGvIa8hryGvIa8hryDHmGPEOeIc+QZ8gz5BnyDHnww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHw4+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EH7n86GddfuzaUA3VUQP1zBurdtSBWqjzqsuPXRvqmVerOmqgJmpHHaiFOq+6/Ni1oSJvIm8ibyJvIm8ibyJvXnn9OFAb6pk3V3XUQE3UjjpQC3Vedfmxa0NFXkNeQ15DXkNeQ15DXkOeIc+QZ8gz5Bnylh/NFnTCIBRhApYkFzSCEdZ9CV8QhCR0wiAUYSXHCUuXCxrBCE4IQhI6YRCKwORkcjI5mZxMTiYnk5PJyeRkcjK5M7kzuTO5M7kzuTO5M7kzuTO5M3kweTB5MHkweTB5MHkweTB5MHkwuZhcTC4mF5OLycXkYnIxuZhcTJ5MnkyeTJ5MnkyeTJ5M3nfBckER5gVj3wrb0AhGcEIQktAJg1AEJjcmNyY3JjcmNyY3JjcmNyY3Ji/72rnMjaXfBY1gBCcEIQmdMAhFYLIz2ZnsTHYmO5Odyc5kZ7Iz2ZkcTA4mbwfnAicEIQmdMAhFmIDloB0LGsEITghCEtYtw7ZgEIowAcvBCxrBCCvZFgQhCZ0wCEWYgOXgBY1gBCYPJg8mDyYPJg8mDyYXk4vJxeRicjG5mFxMXg6aLyjCBCwHL2gEIzghCEnoBCZPJk8k13EQGsEITghCEjphEIrA5H1jui9oBCM4IQhJ6IRBWMljwQTsW9QbGsEITljJtSAJnTAIRZiA5eAFK3kuMIITgpCEThiEIkzAcvACJgeTg8nB5GByMDmYHEwOJi8H/VjQCEZwQhCS0AmDcCb7+uKWgxuWgxc0ghGcEIQkrORYMAhFmIDl4AWNYISVnAuCkIROGIQiTMBy0Ndusxy8wAhOCEISOmEQVvIa73Jww3LwgkYwghOCkIQzOdZ4l4MXFGFeMJeDFzTCmRz7mZMTgpCEThiEIkzAcjBsQSMYwQlBSEInDMJKjgUTsBy8oBGM4IQgJKETBoHJxmRnsjPZmexMXg5GLkhCJwxCESZgOXhBIxjBCUwOJi8HwxcMQhEmYDl4QSMYwQkruRYkoRMGoQgTsBy8oBFW8lzghCAkoRMGYV3WrV1r3/dYsG98bGgEIzghCEnohEFg8mByMbmYXEzed0H2Q9EgJKETBqEIE7BvhmxYyWuq+3bIBicEIQmdMAhFWMmxH8seoiYykYtClKIuGqISqUdTj6YeTT2aejT12HdNclMXDVGRTHmmPFOeKc+0zaZtNm2zaZtN2+zaZlcPVw9XD1cPVw9Xj303pW8q0STteyoXNZGJXBSiFHWReoR67Lsse0L7PstFTWQiF4VIs0/NPjXxVHJXclfyvuuyH9Pv+y4XhShFXTREJZqkLevc1EQmclGIUtRFQ3T26MemSVragprIRC5ad3z2qwnLXVAXDVGJJmkJDGoiE7lIPaZ6TPWY6jHVY5ncrxciDlETmchFIUpRFw1RidSjqUdTj6YeTT2aejT1aOrR1KOpxzrC9uXMfhMD1EQmclGIUtRFq0duKtEkLbtBTWQiF4UoRV2kHq4erh6hHqEeoR7L7t43hShFXTREJZqkZTeoiUykHqkey+4+NnXREBWpa5u7trlrLl1z6ZpL11y65tI1l665DM1lqMdQj6EeQz2Gegz1GJrL0FyG5lKaS2kupbmU5lKaS2n2pdmXepR6bKf3hLbTFzWRiVwUIs1+avaTE9pvfoBM5KIQpaiLhugljxPf74KA1KOpR1OPph5NPZp6NPVo6tHUwzjx/YYIyEQuClGKumiISsRvdb8zAlIP58T3myOgEKWoi4aoRPxW9/sjICWHkkPJ21Xf1EVDVKJJ2q5e1EQmOnuMY1OIUtRFQ1SiSVrHZNB6ztA2mchFIUpRF60e10tuJZqk5S+oiUzkpGXU2D/bMgo0RCWapGUUqIlMtJL3vraMAqWoi4aoRBO03yMBNZGJXBSiFHXREJVIPZZvo29qIhO5KEQp6qIhKtEkmXqYeph6mHqYeph6mHqYeizfxtqz9xsnIBO5KEQp6qIheslb21yL1hER1EQmclGIUtRFQ1Si1WOd4e33UurYZCLNIDWD1AxSM0jNOTXnrjl3zblrzl1z7urR1aNrLtueTdueizTnoTkPzXlozkNzHsobmvPQnIfmXJpzac6lOZfmXJpzac6lOZfmXJpzqcd2dU98P4Hcc56a+H76eFEH7TdQqm1K0t6zY9Mk7T37oiYykYtClKLVzTcNUYkmaR1JQE1kIheFKEXq4erh6uHqEeoR6hHqEeoR6hHqEeoR6hHqEeqx9/bc1EQmclGIUtRFQ1SiSerq0dWjq0dXj64eXT2WAdU3DVGJJmlZAWoiE7koRClSj6Eey4Aam5rIRC4KUYq6aIhKNElTPSZ77LdDau2J+/0QUBOZyEUhSlEXrS2oTSWapGUKqIlM5KIQpaiL1MPUY1sxN5nIRSFKURcNUZHWPj6PTSnqokFa+9psm5rIRC4KUYq6aJDWnjNtU4hS1Enr3GL6phClqIuGqEQTtN+hAPHcouvcouvcouvcouvcouvcouvcouvcouvcYr9XAVKPph5NPZp6NPVo6tHUQ+cWXecWXecWXecWXecWXecWXecWXecW+yWLi5zHhf1WxF7v92sRFyXX8f2yAihFXTREJeKxYr+yAOIau19aALkoRCnqoiEqEdfY/fICSD2Gegz1GOox1GOox1qb5p74OmKDJmmtV6AmMpGLQpSiLlKPUo9Sj6keUz2memwD9ve2DbgoRV00RCWaoP1qA6iJTOSiEKWoi4aoROrR1KOpR1OPph5NPZp6NPUwrrv7bQVQFw1Ribi271cWQE3EdXe/tQAKUYq6aIhKxLV9v7wAaiL1CPUIrrv7fQVQiSZpnylc1EQmctHEWrxfRQA1kZEG1939igBoiEo0SXWImshEhbV4P/2/aO+xFzXQfvK+15f96B3Elat05VW68ipdeZWuvEpXXqUrr9KVV+nKq7Q6llbH/Rh+n3Hvp+6gEKWoi4aoRLwi2A/fQU1kIp6t7wfwoBR10RCViGfrpSuv0pVX6cqrdOW1H8Xvs/r9LH6v3vthPKhIusraj9jn3tK1eoO6aIhKNEl7D7uoiUzkIvXo6tHVo6tHV4+uHkM91uo990+5Vm+Qi0KUoi4aohJN0t6zL1KPUo9Sj1KPUo9Sj1KPUo/twv4+9kp9kYtClKIuGqISMW8/fD8fGWxsL2gv6C8YL5gv2F9wvGC94BTuF9OOtnF3s43+ginc75MdvnE39m/f3j3xL63+/OXz8/P6O6v/9bdYf/zr6c/3n58/fXn64dPXjx/fPf3r/cev+w/988/3n3b98v7z+bvntjx/+u2sZ+DvHz4+L/r27uXTx+2PnpeW/PR5RdkVkP9Dgg8l5LwrYR2rr4TzJtOtBL+dUGux3QHnmPV5s799Pt7u8+dBCp8/Dwe3Pv/aBHy9G4UJ1F0zjKGEPOyuhPUI/Uo4L0PvSTivCbUNdnNfaseDX8Tq8mYBD3+VuV6xuYZwXgfdM8bz9IsJI+uuhENKnmd1dyX0l4S6uTu18eg3UW8Y8PBXOdbR6hrCeSi/Z4zn0YQJ0+OehPOIq4T7dqcZ8nre3p3s0eXR8g0DHv4q57qc3gF5+LhjjOe9qMmE83nZPQmtSgmt7toGLdHn+nozwR9dH93eMODRr/K8naev8nxocs8YX4505z26e462mU3bkHYzwR9dHr3eMODhLyKDp23nDc679ufhcmr0u5waTV/leb/hVkK8cu54PhDnj3Fivy9icpTnQ/D7JjFefo66/XP0R89hxxsGPLxD1SGrzsvfe8Y4dcQ+71D7XQmDx9sz7OY25CsLnLkWKIvD74r4vn3y1YiePPWw857mfVvx6G59PhwwfR+31+p8dK/MesOAR3fr8xkI3T4fadxzid2t82c4H0SMuxJc23Be8d9K6P7wbt0fX2r740vtqxHfZ8ar05xMOB8H3bww6I/ulX2+YcDDu7Xb0BDmPReZj27BevqJgPNx5c2vYbxyZXN+e9wGb97viZit64uYdwVoDLPftQXrbw5wDsd9P8R6tZkR7b4fY73H/WiEaadeb6DdsUuth6NM6HVzp6zXjnpN+/WJdU/Ed+6YFY9vxWv79nFwFn6Y3RXxfXq8Oov/wzdyvBw2DrtvK8r1jdRdl3zfuRHHW25D1736fvvzr36ffvCCyz1v7pjzjSO+b8c83vIQ/l2r9vHgon08vGYfDy/Zx8Mr9nHfgv3T+av3v374/Ld/l/Xbyvr84f0vH5/xy9+/fvr1v373y7//5O/w33X98/Mfvz7/9vXz80pav3f9467nI70f2zyf6tpxxE/vnvr+9XnL5fyfdf56PZv78VxF8925fh7rf7TrT8T5J7z/9G1t4n8A", + "debug_symbols": "tZzbjhXHskX/pZ95qIxLRqZ/xbIsbLe3kBC22HCkI4t/P5VZc072fugWp5b6hRgN9IzqqBq56gb/PP3x/NvXf/364dOff/376aef/3n67fOHjx8//OvXj3/9/v7Lh78+nb/7z9Oxfhn96af27mnUVcZV5i7zuEq7il3FrxJXyatcKfNKmVfKvFLacaA2VEN11EBN1DPMVi3UgTqv2g7UhmqojhqoiYq8hryGvIY8Q54hz5BnyDPkGfIMeYY8Q56deXlWP1AbqqE6aqAmakct1IGKvEBeIC+QF8gL5AXyAnmBvEBeIC+Rl8hL5CXyEnmJvEReIi+Rl8jryOvI68jryOvI68jryOvI68jryCvkFfIKeYW8Ql4hr5BXyCvkFfIG8gbyBvIG8gbyBvIG8gbyBvIG8ibyJvIm8ibyJvIm8ibyJvIm8uaVZ8eB2lAN1VEDNVE7aqEOVOQ15DXkNeQ15DXkNeQ15DXkNeQ15BnyDHmGPEOeIc+QZ8gz5Bny4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD4YfDD4IfBD4MfBj8Mfhj8MPhh8MPgh8EPgx8GPwx+GPww+GHww+CHwQ+DHwY/DH4Y/DD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfDj8cfjj8cPjh8MPhh8MPhx8OPxx+OPxw+OHww+GHww+HHw4/HH44/HD44fDD4YfDD4cfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPgR8CPgR8CPgB8BPwJ+BPwI+BHwI+BHwI+AHwE/An4E/Aj4EfAj4EfAj4AfAT8CfgT8CPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT8SfiT8SPiR8CPhR8KPhB8JPxJ+JPxI+JHwI+FHwo+EHwk/En4k/Ej4kfAj4UfCj4QfCT9y+dHPuvzYtaEaqqMG6plXq3bUQh2o86rLj10b6pk3VnXUQE3UjlqoA3Vedfmxa0NF3kTeRN5E3kTeRN5E3rzy+nGgNtQzb67qqIGaqB21UAfqvOryY9eGiryGvIa8hryGvIa8hryGPEOeIc+QZ8gz5C0/mi3ohCIMwgQsSS5oBCOs+xK+IAhJ6IQiDMJKjhOWLhc0ghGcEIQkdEIRBoHJyeRkcjI5mZxMTiYnk5PJyeRkcmdyZ3JncmdyZ3JncmdyZ3JncmdyMbmYXEwuJheTi8nF5GJyMbmYPJg8mDyYPJg8mDyYPJg8mDyYPJg8mTyZPJk8mTyZPJk8mbzvguWCQZgX1L4VtqERjOCEICShE4owCExuTG5MbkxuTG5MbkxuTG5Mbkxe9rVzmaul3wWNYAQnBCEJnVCEQWCyM9mZ7Ex2JjuTncnOZGeyM9mZHEwOJm8H5wInBCEJnVCEQZiA5aAdCxrBCE4IQhLWLcO2oAiDMAHLwQsawQgr2RYEIQmdUIRBmIDl4AWNYAQmF5OLycXkYnIxuZg8mDyYPJg8mDyYPJg8mLwcNF8wCBOwHLygEYzghCAkoROYPJk8kTyOg9AIRnBCEJLQCUUYBCbvG9N9QSMYwQlBSEInFGEl14IJ2LeoNzSCEZywkseCJHRCEQZhApaDF6zkucAITghCEjqhCIMwAcvBC5gcTA4mB5ODycHkYHIwOZi8HPRjQSMYwQlBSEInFOFM9rXjloMbloMXNIIRnBCEJKzkWFCEQZiA5eAFjWCElZwLgpCETijCIEzActDXYbMcvMAITghCEjqhCCt5jXc5uGE5eEEjGMEJQUjCmRxrvMvBCwZhXjCXgxc0wpkc+5mTE4KQhE4owiBMwHIwbEEjGMEJQUhCJxRhJceCCVgOXtAIRnBCEJLQCUVgsjHZmexMdiY7k5eDkQuS0AlFGIQJWA5e0AhGcAKTg8nLwfAFRRiECVgOXtAIRnDCSh4LktAJRRiECVgOXtAIK3kucEIQktAJRViXdevQ2vc9FuwbHxsawQhOCEISOqEITC4mDyYPJg8m77sg+6FoEJLQCUUYhAnYN0M2rOQ11X07ZIMTgpCETijCIKzk2I9lD1ETmchFIUpRF5VoiNSjqUdTj6YeTT2aeuy7Jrmpi0o0SKY8U54pz5Rn2mbTNpu22bTNpm12bbOrh6uHq4erh6uHq8e+m9I3DdEk7XsqFzWRiVwUohR1kXqEeuy7LHtC+z7LRU1kIheFSLNPzT418VRyV3JX8r7rsh/T7/suF4UoRV1UoiGapC3r3NREJnJRiFLURSU6e/Rj0yQtbUFNZCIXrTs++9WE5S6oi0o0RJO0BAY1kYlcpB5TPaZ6TPWY6rFM7tcLEYeoiUzkohClqItKNETq0dSjqUdTj6YeTT2aejT1aOrR1GN9wvblzH4TA9REJnJRiFLURatHbhqiSVp2g5rIRC4KUYq6SD1cPVw9Qj1CPUI9lt29bwpRirqoREM0SctuUBOZSD1SPZbdvTZ1UYkGqWubu7a5ay5dc+maS9dcuubSNZeuuZTmUupR6lHqUepR6lHqUZpLaS6luQzNZWguQ3MZmsvQXIZmPzT7oR5DPbbTe0Lb6YuayEQuCpFmPzX7yQntNz9AJnJRiFLURSX6nseJ73dBQOrR1KOpR1OPph5NPZp6NPVo6mGc+H5DBGQiF4UoRV1UoiHiXt3vjIDUwznx/eYIKEQp6qISDRH36n5/BKTkUHIoebvqm7qoREM0SdvVi5rIRGePOjaFKEVdVKIhmqT1mQxazxnaJhO5KEQp6qLV43rJbYgmafkLaiITOWkZVftnW0aBSjREk7SMAjWRiVbyPtaWUaAUdVGJhmiC9nskoCYykYtClKIuKtEQqcfyrfqmJjKRi0KUoi4q0RBNkqmHqYeph6mHqYeph6mHqcfyrdaRvd84AZnIRSFKUReV6Hve2uaxaH0igprIRC4KUYq6qERDtHqsM7z9Xso4NplIM0jNIDWD1AxSc07NuWvOXXPumnPXnLt6dPXomsu2Z9O25yLNuTTn0pxLcy7NuZRXmnNpzqU5D815aM5Dcx6a89Cch+Y8NOehOQ/NeajHdnVPfD+B3HOemvh++nhRB+03UEbblKR9ZMemSdpH9kVNZCIXhShFq5tvKtEQTdL6JAE1kYlcFKIUqYerh6uHq0eoR6hHqEeoR6hHqEeoR6hHqEeoxz7ac1MTmchFIUpRF5VoiCapq0dXj64eXT26enT1WAaMvqlEQzRJywpQE5nIRSFKkXqUeiwDRm1qIhO5KEQp6qISDdEkTfWY7LHfDhnrSNzvh4CayEQuClGKumhtwdg0RJO0TAE1kYlcFKIUdZF6mHrsY3xuKtEQTdI6cuaxaYgmaR05F609M9umIZqktbdATWQiF4WIn8n7PQlQiYaIn8n7fQlQE5nIRSFSD51bpM4tUucWqXOLrnOLrnOL/R7F/jTYb1KAQpSiLirREPHzqOs8Yr85sVfW/Q7EXk/3WxAX7U/i2DREXGP36wmgJjKRi0LEtalrbepam7rWpq61ab+oAGoiE7koROqR6pHqkeqR6tHVY61N8yITuShEKeqiEg3RJK21CaQepR6lHqUepR6lHtuAPcltwEWTtA24qIlM5KIQpaiL1GOox1CPqR5TPaZ6TPWY6jHVY6rHVI+pHpM99qsNoIE1rLQmltbE0ppYWhNLa2JpTSytifslhb02ldbE0ppYWhNLa2JpTSytiaU1sbQmltbE0ppYWhP3Gwd7rSutiaU1sbQm7of7e60rrYmlNbG0Ju4n69vf/WgdVKIhovH78TqoiUzkohCpx1CPoR6DZ4z7qTrIRC4KUYq6qETf83iWux+vg3gGuh+wg1wUohR1UYmGiGeg+0E7SD326jg3OVbH/bAd1EWDtN8jy00uClGKuqhEQzRJ68wS1ETq4erh6uHq4erh6uHqsVbvufbgfqgOaiITuShEKeqiEg2ReqR6pHqkeqR6pHqkeqR6bBf2cbDPBS5qIhO5KEQp6qLveWub9z7fK/WmvVJf1EQmclGIUtRFJVo99tG03zc79gGzXzQDunC/JHa0jbbx27d3T/yXlr9++fz8vP6h5X/808uf/3n6+/3n509fnn769PXjx3dP//P+49f9l/799/tPu355//n80zP/+dMfZz0D//zw8XnRt3ffv/t4+VvP6yF+93kZ1BWQ/48ELyXkvJWwDt8r4bwz8lKCv5ww1jnfDjifsev7zf7r++Ptvr+CIzjX4pe+/7UJ+HqhBxMYt2YYpYQ87FbCeu57JZzXTncSzgsZbYO9eCy148Edsbq8WcDDuzLXeyHXEM6T9ztjLNcYzxOEWwmHlCw/biX07wnjxcOp1aN7YrxhwMO7stYifw3h/Ey6M8Z5yMrpcSdhDB1O897hNENez5cPJ3t0ebR8w4CHd+Vc16g7IA+vG2M8b6BMJpwPee4ktDGU0MatbdASfa6vLyb4o+uj2xsGPLorz3tQ2pXnnf47Y/z+SZen43cSsmkb0l5M8EeXRx9vGPDwjsjgadt5H+/W8Vwup6rfcqqaduV5qf1SQrxy7ng+xeWPcWK/FzE5yvPJ7b1J1PefY7z8c/RHz2HrDQMePqDOi30O4byOuzPGqU/s87aq30ooft6eYS9uQ76ywJlrgbI4/FbEjx2Tr0b05KnH+WR+3NuKRw/r8462aX+8vFbno0dljjcMePSwPm/c0+3z3vydS+xunT9Dt1G3ElzbcF7xv5TQ/eHDuj++1PbHl9pXI37MjFenOZnQvb14YdAfPSr7fMOAhw9rt9IQ5p2LzEe34HxAyCNyPbN7aQvqlSubc+9xG7x5vxMxW9eOmLcCNIbZb23Bet2dczju/RDrfVxGtHs/xnr5+NEI00G9Xpu6cUitJ3pM6OPFg3K89qnXdFyfOO5E/OCBOeLxrXjt2D4OzsIPs1sRP6bHq7N4fI+sRyGMGLeu1x5P6LpN3l/+/ldH6QevddzzxWNi2ttG/Ngxcbzlp+cPLZjHg+vl8fByeTy8Wh4PL5bHvbXyl/Or979/+Pxf/4/nt5X1+cP73z4+48s/v376/T/+9Mv//s0/4f8D+vfnv35//uPr5+eVtP7s+s9Az8dXP7e1G9p5tfTLu6e+vz7y/Dr6+fV67vrzuYCdv2HjWL/Rrr9h59844pdvaxP/Dw==", "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\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\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", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index 9b22d014b03..22cc6ad7b1d 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slice_regex/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -31,9 +31,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(1), offset_address: Relative(2) }, Call { location: 11 }, Call { location: 12 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 2294 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(12) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(11) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(5) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, 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) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 43 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(10), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(10), 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) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(12) }, 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(8) }, Const { destination: Relative(12), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 1 }, JumpIf { condition: Relative(12), location: 74 }, Jump { location: 69 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(2), source: Relative(14) }, Mov { destination: Relative(3), source: Relative(16) }, Mov { destination: Relative(4), source: Relative(9) }, Jump { location: 351 }, Load { destination: Relative(11), source_pointer: Relative(10) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(11) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 80 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(11) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(13) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(10) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Load { destination: Relative(21), source_pointer: Relative(10) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(21) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 97 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(21) }, JumpIf { condition: Relative(15), location: 127 }, Jump { location: 101 }, Load { destination: Relative(18), source_pointer: Relative(10) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 107 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(18) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(24) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(23) }, IndirectConst { destination_pointer: Relative(18), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(22) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(23) }, Mov { destination: Relative(23), source: Relative(22) }, Store { destination_pointer: Relative(23), source: Relative(8) }, Store { destination_pointer: Relative(11), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Jump { location: 129 }, Store { destination_pointer: Relative(20), source: Relative(15) }, Jump { location: 129 }, Load { destination: Relative(24), source_pointer: Relative(20) }, JumpIf { condition: Relative(24), location: 137 }, Jump { location: 132 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(13) }, Mov { destination: Relative(23), source: Relative(10) }, Jump { location: 144 }, Load { destination: Relative(20), source_pointer: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(19) }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(17) }, Mov { destination: Relative(22), source: Relative(20) }, Mov { destination: Relative(23), source: Relative(11) }, Jump { location: 144 }, JumpIf { condition: Relative(18), location: 215 }, Jump { location: 146 }, Load { destination: Relative(18), source_pointer: Relative(10) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 152 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(18) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(13) }, Mov { destination: Relative(22), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(10) }, Load { destination: Relative(23), source_pointer: Relative(10) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(23) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 166 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(23) }, JumpIf { condition: Relative(15), location: 195 }, Jump { location: 170 }, Load { destination: Relative(21), source_pointer: Relative(10) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 176 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(27) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(26) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(8) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(22), source: Relative(21) }, Jump { location: 196 }, Jump { location: 196 }, JumpIf { condition: Relative(15), location: 203 }, Jump { location: 198 }, Mov { destination: Relative(21), source: Relative(15) }, Mov { destination: Relative(23), source: Relative(14) }, Mov { destination: Relative(25), source: Relative(13) }, Mov { destination: Relative(26), source: Relative(10) }, Jump { location: 210 }, Load { destination: Relative(27), source_pointer: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(22) }, Mov { destination: Relative(21), source: Relative(12) }, Mov { destination: Relative(23), source: Relative(17) }, Mov { destination: Relative(25), source: Relative(27) }, Mov { destination: Relative(26), source: Relative(18) }, Jump { location: 210 }, Mov { destination: Relative(11), source: Relative(21) }, Mov { destination: Relative(19), source: Relative(23) }, Mov { destination: Relative(20), source: Relative(25) }, Mov { destination: Relative(24), source: Relative(26) }, Jump { location: 220 }, Mov { destination: Relative(11), source: Relative(18) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(20), source: Relative(22) }, Mov { destination: Relative(24), source: Relative(23) }, Jump { location: 220 }, JumpIf { condition: Relative(11), location: 227 }, Jump { location: 222 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(13) }, Mov { destination: Relative(23), source: Relative(10) }, Jump { location: 322 }, Load { destination: Relative(11), source_pointer: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(11) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 233 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(11) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(20) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(24) }, Mov { destination: Relative(27), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(12) }, Load { destination: Relative(28), source_pointer: Relative(24) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(30), op: Equals, bit_size: U32, lhs: Relative(29), rhs: Relative(28) }, Not { destination: Relative(30), source: Relative(30), bit_size: U1 }, JumpIf { condition: Relative(30), location: 250 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(28) }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(14) }, JumpIf { condition: Relative(28), location: 276 }, Jump { location: 255 }, Load { destination: Relative(25), source_pointer: Relative(24) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(29), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(25) }, Not { destination: Relative(29), source: Relative(29), bit_size: U1 }, JumpIf { condition: Relative(29), location: 261 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(25) }, BinaryIntOp { destination: Relative(25), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(32) }, Load { destination: Relative(29), source_pointer: Relative(31) }, Mov { destination: Direct(32771), source: Relative(24) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(30), source: Direct(32773) }, Store { destination_pointer: Relative(11), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(30) }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U8, lhs: Relative(29), rhs: Relative(8) }, Store { destination_pointer: Relative(27), source: Relative(25) }, Jump { location: 278 }, Store { destination_pointer: Relative(27), source: Relative(15) }, Jump { location: 278 }, Load { destination: Relative(31), source_pointer: Relative(27) }, JumpIf { condition: Relative(31), location: 286 }, Jump { location: 281 }, Mov { destination: Relative(25), source: Relative(15) }, Mov { destination: Relative(28), source: Relative(14) }, Mov { destination: Relative(29), source: Relative(20) }, Mov { destination: Relative(30), source: Relative(24) }, Jump { location: 293 }, Load { destination: Relative(20), source_pointer: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(26) }, Mov { destination: Relative(25), source: Relative(12) }, Mov { destination: Relative(28), source: Relative(17) }, Mov { destination: Relative(29), source: Relative(20) }, Mov { destination: Relative(30), source: Relative(11) }, Jump { location: 293 }, JumpIf { condition: Relative(25), location: 308 }, Jump { location: 295 }, Load { destination: Relative(19), source_pointer: Relative(10) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(19) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 301 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(19) }, Mov { destination: Relative(11), source: Relative(15) }, Mov { destination: Relative(20), source: Relative(14) }, Mov { destination: Relative(24), source: Relative(13) }, Mov { destination: Relative(26), source: Relative(10) }, Jump { location: 317 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(28) }, BinaryIntOp { destination: Relative(25), op: LessThanEquals, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, JumpIf { condition: Relative(25), location: 312 }, Call { location: 2345 }, Mov { destination: Relative(11), source: Relative(12) }, Mov { destination: Relative(20), source: Relative(10) }, Mov { destination: Relative(24), source: Relative(29) }, Mov { destination: Relative(26), source: Relative(30) }, Jump { location: 317 }, Mov { destination: Relative(18), source: Relative(11) }, Mov { destination: Relative(21), source: Relative(20) }, Mov { destination: Relative(22), source: Relative(24) }, Mov { destination: Relative(23), source: Relative(26) }, Jump { location: 322 }, JumpIf { condition: Relative(18), location: 337 }, Jump { location: 324 }, Load { destination: Relative(18), source_pointer: Relative(9) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 330 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(18) }, Mov { destination: Relative(10), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(16) }, Mov { destination: Relative(20), source: Relative(9) }, Jump { location: 346 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(21) }, BinaryIntOp { destination: Relative(18), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(9) }, JumpIf { condition: Relative(18), location: 341 }, Call { location: 2345 }, Mov { destination: Relative(10), source: Relative(12) }, Mov { destination: Relative(11), source: Relative(9) }, Mov { destination: Relative(19), source: Relative(22) }, Mov { destination: Relative(20), source: Relative(23) }, Jump { location: 346 }, Mov { destination: Relative(1), source: Relative(10) }, Mov { destination: Relative(2), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(19) }, Mov { destination: Relative(4), source: Relative(20) }, Jump { location: 351 }, Load { destination: Relative(19), source_pointer: Relative(4) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 357 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(19) }, Const { destination: Relative(19), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 109 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 77 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 102 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(40), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(41), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(42), bit_size: Integer(U8), value: 93 }, Const { destination: Relative(43), bit_size: Integer(U8), value: 95 }, Const { destination: Relative(44), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(45), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(46), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(47), bit_size: Integer(U8), value: 118 }, Const { destination: Relative(48), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(49), bit_size: Integer(U8), value: 56 }, Mov { destination: Relative(50), source: Direct(1) }, Const { destination: Relative(51), bit_size: Integer(U32), value: 204 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(51) }, IndirectConst { destination_pointer: Relative(50), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(51), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Mov { destination: Relative(52), source: Relative(51) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(33) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(34) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(36) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(39) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(40) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(40) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(33) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(43) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(44) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(45) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(46) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(36) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(40) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(47) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(8) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(48) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(44) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(49) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Load { destination: Relative(21), source_pointer: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(23) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), MemoryAddress(Relative(3)), HeapVector(HeapVector { pointer: Relative(7), size: Relative(21) }), HeapArray(HeapArray { pointer: Relative(22), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 809 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, JumpIf { condition: Relative(1), location: 813 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Const { destination: Relative(2), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(4) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(19) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(8) }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 839 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(19) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(8) }, JumpIf { condition: Relative(12), location: 864 }, Jump { location: 859 }, Mov { destination: Relative(9), source: Relative(15) }, Mov { destination: Relative(10), source: Relative(14) }, Mov { destination: Relative(11), source: Relative(16) }, Mov { destination: Relative(18), source: Relative(1) }, Jump { location: 1141 }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 870 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(13) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Load { destination: Relative(7), source_pointer: Relative(2) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(7) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 884 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, JumpIf { condition: Relative(15), location: 913 }, Jump { location: 888 }, Load { destination: Relative(4), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 894 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(4) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(21) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(19) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Store { destination_pointer: Relative(3), source: Relative(17) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Jump { location: 914 }, Jump { location: 914 }, JumpIf { condition: Relative(15), location: 921 }, Jump { location: 916 }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(7), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(13) }, Mov { destination: Relative(20), source: Relative(2) }, Jump { location: 928 }, Load { destination: Relative(21), source_pointer: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(17) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(20), source: Relative(3) }, Jump { location: 928 }, JumpIf { condition: Relative(4), location: 1005 }, Jump { location: 930 }, Load { destination: Relative(4), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 936 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(13) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(2) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Load { destination: Relative(23), source_pointer: Relative(2) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 953 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(23) }, JumpIf { condition: Relative(15), location: 983 }, Jump { location: 957 }, Load { destination: Relative(7), source_pointer: Relative(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(7) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 963 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(26) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(25), source: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(7) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Jump { location: 985 }, Store { destination_pointer: Relative(20), source: Relative(15) }, Jump { location: 985 }, Load { destination: Relative(26), source_pointer: Relative(20) }, JumpIf { condition: Relative(26), location: 993 }, Jump { location: 988 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(23), source: Relative(14) }, Mov { destination: Relative(24), source: Relative(13) }, Mov { destination: Relative(25), source: Relative(2) }, Jump { location: 1000 }, Load { destination: Relative(20), source_pointer: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(19) }, Mov { destination: Relative(7), source: Relative(12) }, Mov { destination: Relative(23), source: Relative(17) }, Mov { destination: Relative(24), source: Relative(20) }, Mov { destination: Relative(25), source: Relative(4) }, Jump { location: 1000 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(5), source: Relative(23) }, Mov { destination: Relative(21), source: Relative(24) }, Mov { destination: Relative(22), source: Relative(25) }, Jump { location: 1010 }, Mov { destination: Relative(3), source: Relative(4) }, Mov { destination: Relative(5), source: Relative(7) }, Mov { destination: Relative(21), source: Relative(19) }, Mov { destination: Relative(22), source: Relative(20) }, Jump { location: 1010 }, JumpIf { condition: Relative(3), location: 1017 }, Jump { location: 1012 }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(7), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(13) }, Mov { destination: Relative(20), source: Relative(2) }, Jump { location: 1112 }, Load { destination: Relative(3), source_pointer: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(3) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1023 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(21) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(22) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Load { destination: Relative(26), source_pointer: Relative(22) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(26) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1040 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(26) }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(14) }, JumpIf { condition: Relative(26), location: 1066 }, Jump { location: 1045 }, Load { destination: Relative(23), source_pointer: Relative(22) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 1051 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(32) }, Load { destination: Relative(27), source_pointer: Relative(29) }, Mov { destination: Direct(32771), source: Relative(22) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(28), source: Direct(32773) }, Store { destination_pointer: Relative(3), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(28) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U8, lhs: Relative(27), rhs: Relative(8) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Jump { location: 1068 }, Store { destination_pointer: Relative(25), source: Relative(15) }, Jump { location: 1068 }, Load { destination: Relative(28), source_pointer: Relative(25) }, JumpIf { condition: Relative(28), location: 1076 }, Jump { location: 1071 }, Mov { destination: Relative(8), source: Relative(15) }, Mov { destination: Relative(23), source: Relative(14) }, Mov { destination: Relative(26), source: Relative(21) }, Mov { destination: Relative(27), source: Relative(22) }, Jump { location: 1083 }, Load { destination: Relative(21), source_pointer: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(24) }, Mov { destination: Relative(8), source: Relative(12) }, Mov { destination: Relative(23), source: Relative(17) }, Mov { destination: Relative(26), source: Relative(21) }, Mov { destination: Relative(27), source: Relative(3) }, Jump { location: 1083 }, JumpIf { condition: Relative(8), location: 1098 }, Jump { location: 1085 }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1091 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(13) }, Mov { destination: Relative(24), source: Relative(2) }, Jump { location: 1107 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(23) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, JumpIf { condition: Relative(8), location: 1102 }, Call { location: 2345 }, Mov { destination: Relative(3), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(2) }, Mov { destination: Relative(22), source: Relative(26) }, Mov { destination: Relative(24), source: Relative(27) }, Jump { location: 1107 }, Mov { destination: Relative(4), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(21) }, Mov { destination: Relative(19), source: Relative(22) }, Mov { destination: Relative(20), source: Relative(24) }, Jump { location: 1112 }, JumpIf { condition: Relative(4), location: 1127 }, Jump { location: 1114 }, Load { destination: Relative(4), source_pointer: Relative(1) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1120 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Mov { destination: Relative(2), source: Relative(15) }, Mov { destination: Relative(3), source: Relative(14) }, Mov { destination: Relative(5), source: Relative(16) }, Mov { destination: Relative(8), source: Relative(1) }, Jump { location: 1136 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 1131 }, Call { location: 2345 }, Mov { destination: Relative(2), source: Relative(12) }, Mov { destination: Relative(3), source: Relative(1) }, Mov { destination: Relative(5), source: Relative(19) }, Mov { destination: Relative(8), source: Relative(20) }, Jump { location: 1136 }, Mov { destination: Relative(9), source: Relative(2) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Relative(5) }, Mov { destination: Relative(18), source: Relative(8) }, Jump { location: 1141 }, Load { destination: Relative(2), source_pointer: Relative(18) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1147 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(50) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1155 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(9)), MemoryAddress(Relative(10)), MemoryAddress(Relative(11)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(5) }), HeapArray(HeapArray { pointer: Relative(7), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(9), location: 1166 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, JumpIf { condition: Relative(2), location: 1170 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Mov { destination: Relative(2), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(31) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(40) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(37) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(40) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(31) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(37) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1211 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, Store { destination_pointer: Relative(7), source: Relative(9) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(12) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1225 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(16) }, JumpIf { condition: Relative(3), location: 2248 }, Jump { location: 1228 }, Load { destination: Relative(18), source_pointer: Relative(11) }, JumpIf { condition: Relative(18), location: 1236 }, Jump { location: 1231 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(3), source: Relative(14) }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(8), source: Relative(5) }, Jump { location: 1243 }, Load { destination: Relative(11), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Relative(12) }, Mov { destination: Relative(3), source: Relative(16) }, Mov { destination: Relative(4), source: Relative(11) }, Mov { destination: Relative(8), source: Relative(7) }, Jump { location: 1243 }, JumpIf { condition: Relative(1), location: 1250 }, Jump { location: 1245 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(10), source: Relative(14) }, Mov { destination: Relative(11), source: Relative(9) }, Mov { destination: Relative(18), source: Relative(5) }, Jump { location: 1459 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(1) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1256 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(12) }, Load { destination: Relative(22), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1273 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(14) }, JumpIf { condition: Relative(22), location: 1299 }, Jump { location: 1278 }, Load { destination: Relative(19), source_pointer: Relative(8) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(19) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1284 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(19) }, BinaryIntOp { destination: Relative(19), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(26) }, Load { destination: Relative(23), source_pointer: Relative(25) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(24), source: Direct(32773) }, Store { destination_pointer: Relative(1), source: Relative(19) }, Store { destination_pointer: Relative(20), source: Relative(24) }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U8, lhs: Relative(23), rhs: Relative(30) }, Store { destination_pointer: Relative(21), source: Relative(19) }, Jump { location: 1301 }, Store { destination_pointer: Relative(21), source: Relative(15) }, Jump { location: 1301 }, Load { destination: Relative(25), source_pointer: Relative(21) }, JumpIf { condition: Relative(25), location: 1309 }, Jump { location: 1304 }, Mov { destination: Relative(19), source: Relative(15) }, Mov { destination: Relative(22), source: Relative(14) }, Mov { destination: Relative(23), source: Relative(4) }, Mov { destination: Relative(24), source: Relative(8) }, Jump { location: 1316 }, Load { destination: Relative(21), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(20) }, Mov { destination: Relative(19), source: Relative(12) }, Mov { destination: Relative(22), source: Relative(17) }, Mov { destination: Relative(23), source: Relative(21) }, Mov { destination: Relative(24), source: Relative(1) }, Jump { location: 1316 }, Not { destination: Relative(26), source: Relative(19), bit_size: U1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U1, lhs: Relative(19), rhs: Relative(26) }, Cast { destination: Relative(28), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(29), source: Relative(26), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(32), op: Mul, bit_size: U32, lhs: Relative(28), rhs: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(28), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U32, lhs: Relative(29), rhs: Relative(4) }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(23) }, ConditionalMov { destination: Relative(23), source_a: Relative(24), source_b: Relative(8), condition: Relative(19) }, Mov { destination: Direct(32771), source: Relative(23) }, Call { location: 2348 }, Mov { destination: Relative(22), source: Direct(32772) }, JumpIf { condition: Relative(27), location: 1335 }, Jump { location: 1330 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(20), source: Relative(14) }, Mov { destination: Relative(21), source: Relative(4) }, Mov { destination: Relative(25), source: Relative(8) }, Jump { location: 1430 }, Load { destination: Relative(19), source_pointer: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(19) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1341 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(19) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(28) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(22) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(12) }, Load { destination: Relative(27), source_pointer: Relative(22) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(29), rhs: Relative(27) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 1358 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(27) }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(14) }, JumpIf { condition: Relative(27), location: 1384 }, Jump { location: 1363 }, Load { destination: Relative(23), source_pointer: Relative(22) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(29), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(23) }, Not { destination: Relative(29), source: Relative(29), bit_size: U1 }, JumpIf { condition: Relative(29), location: 1369 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Sub, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(34), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(35) }, Load { destination: Relative(29), source_pointer: Relative(34) }, Mov { destination: Direct(32771), source: Relative(22) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(33), source: Direct(32773) }, Store { destination_pointer: Relative(19), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(33) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U8, lhs: Relative(29), rhs: Relative(6) }, Store { destination_pointer: Relative(26), source: Relative(23) }, Jump { location: 1386 }, Store { destination_pointer: Relative(26), source: Relative(15) }, Jump { location: 1386 }, Load { destination: Relative(34), source_pointer: Relative(26) }, JumpIf { condition: Relative(34), location: 1394 }, Jump { location: 1389 }, Mov { destination: Relative(23), source: Relative(15) }, Mov { destination: Relative(27), source: Relative(14) }, Mov { destination: Relative(29), source: Relative(28) }, Mov { destination: Relative(33), source: Relative(22) }, Jump { location: 1401 }, Load { destination: Relative(22), source_pointer: Relative(19) }, Load { destination: Relative(19), source_pointer: Relative(24) }, Mov { destination: Relative(23), source: Relative(12) }, Mov { destination: Relative(27), source: Relative(17) }, Mov { destination: Relative(29), source: Relative(22) }, Mov { destination: Relative(33), source: Relative(19) }, Jump { location: 1401 }, JumpIf { condition: Relative(23), location: 1416 }, Jump { location: 1403 }, Load { destination: Relative(23), source_pointer: Relative(8) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(23) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1409 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(23) }, Mov { destination: Relative(19), source: Relative(15) }, Mov { destination: Relative(22), source: Relative(14) }, Mov { destination: Relative(24), source: Relative(4) }, Mov { destination: Relative(26), source: Relative(8) }, Jump { location: 1425 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(32), rhs: Relative(27) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(32), rhs: Relative(4) }, JumpIf { condition: Relative(8), location: 1420 }, Call { location: 2345 }, Mov { destination: Relative(19), source: Relative(12) }, Mov { destination: Relative(22), source: Relative(4) }, Mov { destination: Relative(24), source: Relative(29) }, Mov { destination: Relative(26), source: Relative(33) }, Jump { location: 1425 }, Mov { destination: Relative(1), source: Relative(19) }, Mov { destination: Relative(20), source: Relative(22) }, Mov { destination: Relative(21), source: Relative(24) }, Mov { destination: Relative(25), source: Relative(26) }, Jump { location: 1430 }, JumpIf { condition: Relative(1), location: 1445 }, Jump { location: 1432 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1438 }, Call { location: 2300 }, 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(4), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(9) }, Mov { destination: Relative(22), source: Relative(5) }, Jump { location: 1454 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(20) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 1449 }, Call { location: 2345 }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(8), source: Relative(1) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(22), source: Relative(25) }, Jump { location: 1454 }, Mov { destination: Relative(7), source: Relative(4) }, Mov { destination: Relative(10), source: Relative(8) }, Mov { destination: Relative(11), source: Relative(19) }, Mov { destination: Relative(18), source: Relative(22) }, Jump { location: 1459 }, Load { destination: Relative(3), source_pointer: Relative(18) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1465 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(50) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1473 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(3) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(20) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(7)), MemoryAddress(Relative(10)), MemoryAddress(Relative(11)), HeapVector(HeapVector { pointer: Relative(3), size: Relative(8) }), HeapArray(HeapArray { pointer: Relative(19), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(7), location: 1484 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, JumpIf { condition: Relative(3), location: 1488 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(31) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(37) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(30) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(3) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1518 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 6 }, Store { destination_pointer: Relative(7), source: Relative(9) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(12) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1532 }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(16) }, JumpIf { condition: Relative(4), location: 2202 }, Jump { location: 1535 }, Load { destination: Relative(8), source_pointer: Relative(11) }, JumpIf { condition: Relative(8), location: 1543 }, Jump { location: 1538 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(2), source: Relative(14) }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(5), source: Relative(3) }, Jump { location: 1550 }, Load { destination: Relative(8), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(16) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 1550 }, JumpIf { condition: Relative(1), location: 1557 }, Jump { location: 1552 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(10), source: Relative(9) }, Mov { destination: Relative(11), source: Relative(3) }, Jump { location: 1766 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(1) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1563 }, Call { location: 2300 }, 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) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(5) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Load { destination: Relative(21), source_pointer: Relative(5) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(21) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1580 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(14) }, JumpIf { condition: Relative(21), location: 1606 }, Jump { location: 1585 }, Load { destination: Relative(18), source_pointer: Relative(5) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1591 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(25) }, Load { destination: Relative(22), source_pointer: Relative(24) }, Mov { destination: Direct(32771), source: Relative(5) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(23), source: Direct(32773) }, Store { destination_pointer: Relative(1), source: Relative(18) }, Store { destination_pointer: Relative(19), source: Relative(23) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U8, lhs: Relative(22), rhs: Relative(30) }, Store { destination_pointer: Relative(20), source: Relative(18) }, Jump { location: 1608 }, Store { destination_pointer: Relative(20), source: Relative(15) }, Jump { location: 1608 }, Load { destination: Relative(24), source_pointer: Relative(20) }, JumpIf { condition: Relative(24), location: 1616 }, Jump { location: 1611 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(4) }, Mov { destination: Relative(23), source: Relative(5) }, Jump { location: 1623 }, Load { destination: Relative(20), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(19) }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(17) }, Mov { destination: Relative(22), source: Relative(20) }, Mov { destination: Relative(23), source: Relative(1) }, Jump { location: 1623 }, Not { destination: Relative(25), source: Relative(18), bit_size: U1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U1, lhs: Relative(18), rhs: Relative(25) }, Cast { destination: Relative(27), source: Relative(18), bit_size: Integer(U32) }, Cast { destination: Relative(28), source: Relative(25), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(29), op: Mul, bit_size: U32, lhs: Relative(27), rhs: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Mul, bit_size: U32, lhs: Relative(27), rhs: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(28), rhs: Relative(4) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(22) }, ConditionalMov { destination: Relative(22), source_a: Relative(23), source_b: Relative(5), condition: Relative(18) }, Mov { destination: Direct(32771), source: Relative(22) }, Call { location: 2348 }, Mov { destination: Relative(21), source: Direct(32772) }, JumpIf { condition: Relative(26), location: 1642 }, Jump { location: 1637 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(19), source: Relative(14) }, Mov { destination: Relative(20), source: Relative(4) }, Mov { destination: Relative(24), source: Relative(5) }, Jump { location: 1737 }, Load { destination: Relative(18), source_pointer: Relative(21) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(18) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1648 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(18) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(27) }, Mov { destination: Relative(23), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(21) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Load { destination: Relative(26), source_pointer: Relative(21) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(30), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(26) }, Not { destination: Relative(30), source: Relative(30), bit_size: U1 }, JumpIf { condition: Relative(30), location: 1665 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(26) }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(14) }, JumpIf { condition: Relative(26), location: 1691 }, Jump { location: 1670 }, Load { destination: Relative(22), source_pointer: Relative(21) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(22) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1676 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(32) }, Load { destination: Relative(28), source_pointer: Relative(31) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(30), source: Direct(32773) }, Store { destination_pointer: Relative(18), source: Relative(22) }, Store { destination_pointer: Relative(23), source: Relative(30) }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U8, lhs: Relative(28), rhs: Relative(6) }, Store { destination_pointer: Relative(25), source: Relative(22) }, Jump { location: 1693 }, Store { destination_pointer: Relative(25), source: Relative(15) }, Jump { location: 1693 }, Load { destination: Relative(30), source_pointer: Relative(25) }, JumpIf { condition: Relative(30), location: 1701 }, Jump { location: 1696 }, Mov { destination: Relative(6), source: Relative(15) }, Mov { destination: Relative(22), source: Relative(14) }, Mov { destination: Relative(26), source: Relative(27) }, Mov { destination: Relative(28), source: Relative(21) }, Jump { location: 1708 }, Load { destination: Relative(21), source_pointer: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(23) }, Mov { destination: Relative(6), source: Relative(12) }, Mov { destination: Relative(22), source: Relative(17) }, Mov { destination: Relative(26), source: Relative(21) }, Mov { destination: Relative(28), source: Relative(18) }, Jump { location: 1708 }, JumpIf { condition: Relative(6), location: 1723 }, Jump { location: 1710 }, Load { destination: Relative(6), source_pointer: Relative(5) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(6) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 1716 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(6) }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(23), source: Relative(4) }, Mov { destination: Relative(25), source: Relative(5) }, Jump { location: 1732 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(22) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(29), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 1727 }, Call { location: 2345 }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(4) }, Mov { destination: Relative(23), source: Relative(26) }, Mov { destination: Relative(25), source: Relative(28) }, Jump { location: 1732 }, Mov { destination: Relative(1), source: Relative(18) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(20), source: Relative(23) }, Mov { destination: Relative(24), source: Relative(25) }, Jump { location: 1737 }, JumpIf { condition: Relative(1), location: 1752 }, Jump { location: 1739 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1745 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(14) }, Mov { destination: Relative(6), source: Relative(9) }, Mov { destination: Relative(18), source: Relative(3) }, Jump { location: 1761 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(19) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 1756 }, Call { location: 2345 }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(5), source: Relative(1) }, Mov { destination: Relative(6), source: Relative(20) }, Mov { destination: Relative(18), source: Relative(24) }, Jump { location: 1761 }, Mov { destination: Relative(7), source: Relative(4) }, Mov { destination: Relative(8), source: Relative(5) }, Mov { destination: Relative(10), source: Relative(6) }, Mov { destination: Relative(11), source: Relative(18) }, Jump { location: 1766 }, Load { destination: Relative(2), source_pointer: Relative(11) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1772 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(50) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1780 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(18) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(7)), MemoryAddress(Relative(8)), MemoryAddress(Relative(10)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(5) }), HeapArray(HeapArray { pointer: Relative(6), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(7), location: 1791 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(9) }, JumpIf { condition: Relative(2), location: 1795 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(2), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, 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(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Load { destination: Relative(6), 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(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1820 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(50) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1828 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(18) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(12)), MemoryAddress(Relative(14)), MemoryAddress(Relative(6)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(11), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(9), source_pointer: Relative(5) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1843 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(50) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1851 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(9) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(18), source_pointer: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(20) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(12)), MemoryAddress(Relative(14)), MemoryAddress(Relative(6)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(18) }), HeapArray(HeapArray { pointer: Relative(19), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(9), source_pointer: Relative(5) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(9) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1865 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(21) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(19) }, Store { destination_pointer: Relative(20), source: Relative(2) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(2) }, Load { destination: Relative(19), source_pointer: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1889 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(19) }, Load { destination: Relative(19), source_pointer: Relative(50) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(19) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1897 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(19) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Load { destination: Relative(22), source_pointer: Relative(23) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(24) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(12)), MemoryAddress(Relative(17)), MemoryAddress(Relative(13)), HeapVector(HeapVector { pointer: Relative(19), size: Relative(22) }), HeapArray(HeapArray { pointer: Relative(23), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(9), source_pointer: Relative(5) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1911 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, Mov { destination: Relative(22), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, Mov { destination: Relative(23), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(6) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(5) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1927 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, JumpIf { condition: Relative(3), location: 2118 }, Jump { location: 1930 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Load { destination: Relative(4), source_pointer: Relative(22) }, Load { destination: Relative(5), source_pointer: Relative(23) }, Load { destination: Relative(7), source_pointer: Relative(24) }, Load { destination: Relative(8), source_pointer: Relative(7) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1940 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(50) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1948 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(8) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(19) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(3)), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(18), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(3), location: 1959 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(13) }, JumpIf { condition: Relative(3), location: 1963 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(12) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(16) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(3) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1997 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, JumpIf { condition: Relative(3), location: 2034 }, Jump { location: 2000 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Load { destination: Relative(4), source_pointer: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2010 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(50) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 2018 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), MemoryAddress(Relative(3)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(9) }), HeapArray(HeapArray { pointer: Relative(10), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 2029 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(6) }, JumpIf { condition: Relative(1), location: 2033 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Load { destination: Relative(3), source_pointer: Relative(4) }, JumpIf { condition: Relative(3), location: 2037 }, Jump { location: 2115 }, Load { destination: Relative(3), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 2045 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(9) }, Mov { destination: Relative(16), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(12) }, Load { destination: Relative(18), source_pointer: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2062 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(14) }, JumpIf { condition: Relative(18), location: 2088 }, Jump { location: 2067 }, Load { destination: Relative(11), source_pointer: Relative(9) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(11) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 2073 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(22) }, Load { destination: Relative(19), source_pointer: Relative(21) }, Mov { destination: Direct(32771), source: Relative(9) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(20), source: Direct(32773) }, Store { destination_pointer: Relative(10), source: Relative(11) }, Store { destination_pointer: Relative(13), source: Relative(20) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U8, lhs: Relative(19), rhs: Relative(2) }, Store { destination_pointer: Relative(16), source: Relative(11) }, Jump { location: 2090 }, Store { destination_pointer: Relative(16), source: Relative(15) }, Jump { location: 2090 }, Load { destination: Relative(21), source_pointer: Relative(16) }, JumpIf { condition: Relative(21), location: 2098 }, Jump { location: 2093 }, Mov { destination: Relative(11), source: Relative(15) }, Mov { destination: Relative(18), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(3) }, Mov { destination: Relative(20), source: Relative(9) }, Jump { location: 2105 }, Load { destination: Relative(3), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(13) }, Mov { destination: Relative(11), source: Relative(12) }, Mov { destination: Relative(18), source: Relative(17) }, Mov { destination: Relative(19), source: Relative(3) }, Mov { destination: Relative(20), source: Relative(9) }, Jump { location: 2105 }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(18) }, BinaryIntOp { destination: Relative(10), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 2110 }, Call { location: 2345 }, Store { destination_pointer: Relative(4), source: Relative(11) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Store { destination_pointer: Relative(7), source: Relative(19) }, Store { destination_pointer: Relative(8), source: Relative(20) }, Jump { location: 2115 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(3) }, Jump { location: 1997 }, Load { destination: Relative(3), source_pointer: Relative(9) }, JumpIf { condition: Relative(3), location: 2121 }, Jump { location: 2199 }, Load { destination: Relative(3), source_pointer: Relative(23) }, Load { destination: Relative(4), source_pointer: Relative(24) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2129 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(4) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(12) }, Load { destination: Relative(11), source_pointer: Relative(4) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(11) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 2146 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(14) }, JumpIf { condition: Relative(11), location: 2172 }, Jump { location: 2151 }, Load { destination: Relative(7), source_pointer: Relative(4) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(7) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 2157 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(21) }, Load { destination: Relative(18), source_pointer: Relative(20) }, Mov { destination: Direct(32771), source: Relative(4) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(19), source: Direct(32773) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(19) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U8, lhs: Relative(18), rhs: Relative(2) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Jump { location: 2174 }, Store { destination_pointer: Relative(10), source: Relative(15) }, Jump { location: 2174 }, Load { destination: Relative(20), source_pointer: Relative(10) }, JumpIf { condition: Relative(20), location: 2182 }, Jump { location: 2177 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, Jump { location: 2189 }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(4), source_pointer: Relative(8) }, Mov { destination: Relative(7), source: Relative(12) }, Mov { destination: Relative(11), source: Relative(17) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, Jump { location: 2189 }, Load { destination: Relative(3), source_pointer: Relative(22) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 2194 }, Call { location: 2345 }, Store { destination_pointer: Relative(9), source: Relative(7) }, Store { destination_pointer: Relative(22), source: Relative(4) }, Store { destination_pointer: Relative(23), source: Relative(18) }, Store { destination_pointer: Relative(24), source: Relative(19) }, Jump { location: 2199 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(3) }, Jump { location: 1927 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Load { destination: Relative(4), source_pointer: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2213 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(14) }, JumpIf { condition: Relative(8), location: 2243 }, Jump { location: 2218 }, Load { destination: Relative(5), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2226 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(23) }, Load { destination: Relative(20), source_pointer: Relative(22) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(21), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(18) }, Store { destination_pointer: Relative(10), source: Relative(21) }, Load { destination: Relative(5), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(20), rhs: Relative(4) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(11), source: Relative(4) }, Jump { location: 2245 }, Store { destination_pointer: Relative(11), source: Relative(15) }, Jump { location: 2245 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(4) }, Jump { location: 1532 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(8) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2259 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(14) }, JumpIf { condition: Relative(8), location: 2289 }, Jump { location: 2264 }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2272 }, Call { location: 2300 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(23) }, Load { destination: Relative(20), source_pointer: Relative(22) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2303 }, Mov { destination: Relative(21), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(18) }, Store { destination_pointer: Relative(10), source: Relative(21) }, Load { destination: Relative(4), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(20), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(8) }, Store { destination_pointer: Relative(11), source: Relative(3) }, Jump { location: 2291 }, Store { destination_pointer: Relative(11), source: Relative(15) }, Jump { location: 2291 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(3) }, Jump { location: 1225 }, 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: 2299 }, 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, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32778), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32779), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32779), location: 2313 }, Jump { location: 2321 }, BinaryIntOp { destination: Direct(32773), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 2344 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32778) }, Mov { destination: Direct(32784), source: Direct(32781) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 2343 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 2336 }, Jump { location: 2344 }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 2352 }, Jump { location: 2354 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 2373 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 2371 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 2364 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 2373 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(1), offset_address: Relative(2) }, Call { location: 11 }, Call { location: 12 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32836 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 2230 }, Const { destination: Relative(5), bit_size: Integer(U8), value: 103 }, Const { destination: Relative(6), bit_size: Integer(U8), value: 114 }, Const { destination: Relative(7), bit_size: Integer(U8), value: 97 }, Const { destination: Relative(8), bit_size: Integer(U8), value: 121 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(12) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(11) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(10) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, Mov { destination: Relative(11), source: Relative(10) }, Store { destination_pointer: Relative(11), source: Relative(5) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(6) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, 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) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 43 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(13) }, IndirectConst { destination_pointer: Relative(10), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(10), 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) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(12) }, 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(8) }, Const { destination: Relative(12), bit_size: Integer(U1), value: 1 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(15), bit_size: Integer(U1), value: 0 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 1 }, JumpIf { condition: Relative(12), location: 74 }, Jump { location: 69 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(2), source: Relative(14) }, Mov { destination: Relative(3), source: Relative(16) }, Mov { destination: Relative(4), source: Relative(9) }, Jump { location: 335 }, Load { destination: Relative(11), source_pointer: Relative(10) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(11) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 80 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(11) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(13) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(10) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Load { destination: Relative(21), source_pointer: Relative(10) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(21) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 97 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(21) }, JumpIf { condition: Relative(15), location: 127 }, Jump { location: 101 }, Load { destination: Relative(18), source_pointer: Relative(10) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 107 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(18) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(24) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(23) }, IndirectConst { destination_pointer: Relative(18), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(22) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(23) }, Mov { destination: Relative(23), source: Relative(22) }, Store { destination_pointer: Relative(23), source: Relative(8) }, Store { destination_pointer: Relative(11), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Jump { location: 129 }, Store { destination_pointer: Relative(20), source: Relative(15) }, Jump { location: 129 }, Load { destination: Relative(24), source_pointer: Relative(20) }, JumpIf { condition: Relative(24), location: 137 }, Jump { location: 132 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(13) }, Mov { destination: Relative(23), source: Relative(10) }, Jump { location: 144 }, Load { destination: Relative(20), source_pointer: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(19) }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(17) }, Mov { destination: Relative(22), source: Relative(20) }, Mov { destination: Relative(23), source: Relative(11) }, Jump { location: 144 }, JumpIf { condition: Relative(18), location: 215 }, Jump { location: 146 }, Load { destination: Relative(18), source_pointer: Relative(10) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 152 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(18) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(13) }, Mov { destination: Relative(22), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(10) }, Load { destination: Relative(23), source_pointer: Relative(10) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(23) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 166 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(23) }, JumpIf { condition: Relative(15), location: 195 }, Jump { location: 170 }, Load { destination: Relative(21), source_pointer: Relative(10) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 176 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(27) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(26) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(8) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(22), source: Relative(21) }, Jump { location: 196 }, Jump { location: 196 }, JumpIf { condition: Relative(15), location: 203 }, Jump { location: 198 }, Mov { destination: Relative(21), source: Relative(15) }, Mov { destination: Relative(23), source: Relative(14) }, Mov { destination: Relative(25), source: Relative(13) }, Mov { destination: Relative(26), source: Relative(10) }, Jump { location: 210 }, Load { destination: Relative(27), source_pointer: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(22) }, Mov { destination: Relative(21), source: Relative(12) }, Mov { destination: Relative(23), source: Relative(17) }, Mov { destination: Relative(25), source: Relative(27) }, Mov { destination: Relative(26), source: Relative(18) }, Jump { location: 210 }, Mov { destination: Relative(11), source: Relative(21) }, Mov { destination: Relative(19), source: Relative(23) }, Mov { destination: Relative(20), source: Relative(25) }, Mov { destination: Relative(24), source: Relative(26) }, Jump { location: 220 }, Mov { destination: Relative(11), source: Relative(18) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(20), source: Relative(22) }, Mov { destination: Relative(24), source: Relative(23) }, Jump { location: 220 }, JumpIf { condition: Relative(11), location: 227 }, Jump { location: 222 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(13) }, Mov { destination: Relative(23), source: Relative(10) }, Jump { location: 314 }, Load { destination: Relative(11), source_pointer: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(11) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 233 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(11) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(20) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(24) }, Mov { destination: Relative(27), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(12) }, Load { destination: Relative(28), source_pointer: Relative(24) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(30), op: Equals, bit_size: U32, lhs: Relative(29), rhs: Relative(28) }, Not { destination: Relative(30), source: Relative(30), bit_size: U1 }, JumpIf { condition: Relative(30), location: 250 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(28) }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(14) }, JumpIf { condition: Relative(28), location: 276 }, Jump { location: 255 }, Load { destination: Relative(25), source_pointer: Relative(24) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(29), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(25) }, Not { destination: Relative(29), source: Relative(29), bit_size: U1 }, JumpIf { condition: Relative(29), location: 261 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(25) }, BinaryIntOp { destination: Relative(25), op: Sub, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(32) }, Load { destination: Relative(29), source_pointer: Relative(31) }, Mov { destination: Direct(32771), source: Relative(24) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(30), source: Direct(32773) }, Store { destination_pointer: Relative(11), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(30) }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U8, lhs: Relative(29), rhs: Relative(8) }, Store { destination_pointer: Relative(27), source: Relative(25) }, Jump { location: 278 }, Store { destination_pointer: Relative(27), source: Relative(15) }, Jump { location: 278 }, Load { destination: Relative(31), source_pointer: Relative(27) }, JumpIf { condition: Relative(31), location: 286 }, Jump { location: 281 }, Mov { destination: Relative(25), source: Relative(15) }, Mov { destination: Relative(28), source: Relative(14) }, Mov { destination: Relative(29), source: Relative(20) }, Mov { destination: Relative(30), source: Relative(24) }, Jump { location: 293 }, Load { destination: Relative(20), source_pointer: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(26) }, Mov { destination: Relative(25), source: Relative(12) }, Mov { destination: Relative(28), source: Relative(17) }, Mov { destination: Relative(29), source: Relative(20) }, Mov { destination: Relative(30), source: Relative(11) }, Jump { location: 293 }, JumpIf { condition: Relative(25), location: 300 }, Jump { location: 295 }, Mov { destination: Relative(11), source: Relative(15) }, Mov { destination: Relative(20), source: Relative(14) }, Mov { destination: Relative(24), source: Relative(13) }, Mov { destination: Relative(26), source: Relative(10) }, Jump { location: 309 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(28) }, BinaryIntOp { destination: Relative(25), op: LessThanEquals, bit_size: U32, lhs: Relative(19), rhs: Relative(10) }, JumpIf { condition: Relative(25), location: 304 }, Call { location: 2281 }, Mov { destination: Relative(11), source: Relative(12) }, Mov { destination: Relative(20), source: Relative(10) }, Mov { destination: Relative(24), source: Relative(29) }, Mov { destination: Relative(26), source: Relative(30) }, Jump { location: 309 }, Mov { destination: Relative(18), source: Relative(11) }, Mov { destination: Relative(21), source: Relative(20) }, Mov { destination: Relative(22), source: Relative(24) }, Mov { destination: Relative(23), source: Relative(26) }, Jump { location: 314 }, JumpIf { condition: Relative(18), location: 321 }, Jump { location: 316 }, Mov { destination: Relative(10), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(16) }, Mov { destination: Relative(20), source: Relative(9) }, Jump { location: 330 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(21) }, BinaryIntOp { destination: Relative(18), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(9) }, JumpIf { condition: Relative(18), location: 325 }, Call { location: 2281 }, Mov { destination: Relative(10), source: Relative(12) }, Mov { destination: Relative(11), source: Relative(9) }, Mov { destination: Relative(19), source: Relative(22) }, Mov { destination: Relative(20), source: Relative(23) }, Jump { location: 330 }, Mov { destination: Relative(1), source: Relative(10) }, Mov { destination: Relative(2), source: Relative(11) }, Mov { destination: Relative(3), source: Relative(19) }, Mov { destination: Relative(4), source: Relative(20) }, Jump { location: 335 }, Load { destination: Relative(19), source_pointer: Relative(4) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 341 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(19) }, Const { destination: Relative(19), bit_size: Integer(U8), value: 101 }, Const { destination: Relative(21), bit_size: Integer(U8), value: 123 }, Const { destination: Relative(22), bit_size: Integer(U8), value: 34 }, Const { destination: Relative(23), bit_size: Integer(U8), value: 107 }, Const { destination: Relative(24), bit_size: Integer(U8), value: 105 }, Const { destination: Relative(25), bit_size: Integer(U8), value: 110 }, Const { destination: Relative(26), bit_size: Integer(U8), value: 100 }, Const { destination: Relative(27), bit_size: Integer(U8), value: 58 }, Const { destination: Relative(28), bit_size: Integer(U8), value: 115 }, Const { destination: Relative(29), bit_size: Integer(U8), value: 116 }, Const { destination: Relative(30), bit_size: Integer(U8), value: 117 }, Const { destination: Relative(31), bit_size: Integer(U8), value: 99 }, Const { destination: Relative(32), bit_size: Integer(U8), value: 44 }, Const { destination: Relative(33), bit_size: Integer(U8), value: 109 }, Const { destination: Relative(34), bit_size: Integer(U8), value: 77 }, Const { destination: Relative(35), bit_size: Integer(U8), value: 104 }, Const { destination: Relative(36), bit_size: Integer(U8), value: 102 }, Const { destination: Relative(37), bit_size: Integer(U8), value: 108 }, Const { destination: Relative(38), bit_size: Integer(U8), value: 91 }, Const { destination: Relative(39), bit_size: Integer(U8), value: 98 }, Const { destination: Relative(40), bit_size: Integer(U8), value: 111 }, Const { destination: Relative(41), bit_size: Integer(U8), value: 125 }, Const { destination: Relative(42), bit_size: Integer(U8), value: 93 }, Const { destination: Relative(43), bit_size: Integer(U8), value: 95 }, Const { destination: Relative(44), bit_size: Integer(U8), value: 119 }, Const { destination: Relative(45), bit_size: Integer(U8), value: 51 }, Const { destination: Relative(46), bit_size: Integer(U8), value: 50 }, Const { destination: Relative(47), bit_size: Integer(U8), value: 118 }, Const { destination: Relative(48), bit_size: Integer(U8), value: 112 }, Const { destination: Relative(49), bit_size: Integer(U8), value: 56 }, Mov { destination: Relative(50), source: Direct(1) }, Const { destination: Relative(51), bit_size: Integer(U32), value: 204 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(51) }, IndirectConst { destination_pointer: Relative(50), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(51), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, Mov { destination: Relative(52), source: Relative(51) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(33) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(34) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(36) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(39) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(40) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(40) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(33) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(7) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(43) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(44) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(45) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(46) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(38) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(36) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(40) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(47) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(37) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(31) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(8) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(48) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(21) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(23) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(30) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(28) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(25) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(5) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(19) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(6) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(32) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(44) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(24) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(26) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(29) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(35) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(22) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(27) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(49) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(42) }, BinaryIntOp { destination: Relative(52), op: Add, bit_size: U32, lhs: Relative(52), rhs: Direct(2) }, Store { destination_pointer: Relative(52), source: Relative(41) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Load { destination: Relative(21), source_pointer: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(23) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), MemoryAddress(Relative(3)), HeapVector(HeapVector { pointer: Relative(7), size: Relative(21) }), HeapArray(HeapArray { pointer: Relative(22), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 793 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(16) }, JumpIf { condition: Relative(1), location: 797 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Const { destination: Relative(2), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(4) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(3) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(19) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(8) }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 823 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(19) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(8) }, JumpIf { condition: Relative(12), location: 848 }, Jump { location: 843 }, Mov { destination: Relative(9), source: Relative(15) }, Mov { destination: Relative(10), source: Relative(14) }, Mov { destination: Relative(11), source: Relative(16) }, Mov { destination: Relative(18), source: Relative(1) }, Jump { location: 1109 }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 854 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(13) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Load { destination: Relative(7), source_pointer: Relative(2) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(7) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 868 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, JumpIf { condition: Relative(15), location: 897 }, Jump { location: 872 }, Load { destination: Relative(4), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 878 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(4) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(21) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(4), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(19) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Store { destination_pointer: Relative(3), source: Relative(17) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Jump { location: 898 }, Jump { location: 898 }, JumpIf { condition: Relative(15), location: 905 }, Jump { location: 900 }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(7), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(13) }, Mov { destination: Relative(20), source: Relative(2) }, Jump { location: 912 }, Load { destination: Relative(21), source_pointer: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(7), source: Relative(17) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(20), source: Relative(3) }, Jump { location: 912 }, JumpIf { condition: Relative(4), location: 989 }, Jump { location: 914 }, Load { destination: Relative(4), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(4) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 920 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(13) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(2) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Load { destination: Relative(23), source_pointer: Relative(2) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 937 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(23) }, JumpIf { condition: Relative(15), location: 967 }, Jump { location: 941 }, Load { destination: Relative(7), source_pointer: Relative(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(7) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 947 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(7) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 1 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(26) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(25), source: Relative(8) }, Store { destination_pointer: Relative(4), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(7) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Jump { location: 969 }, Store { destination_pointer: Relative(20), source: Relative(15) }, Jump { location: 969 }, Load { destination: Relative(26), source_pointer: Relative(20) }, JumpIf { condition: Relative(26), location: 977 }, Jump { location: 972 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(23), source: Relative(14) }, Mov { destination: Relative(24), source: Relative(13) }, Mov { destination: Relative(25), source: Relative(2) }, Jump { location: 984 }, Load { destination: Relative(20), source_pointer: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(19) }, Mov { destination: Relative(7), source: Relative(12) }, Mov { destination: Relative(23), source: Relative(17) }, Mov { destination: Relative(24), source: Relative(20) }, Mov { destination: Relative(25), source: Relative(4) }, Jump { location: 984 }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(5), source: Relative(23) }, Mov { destination: Relative(21), source: Relative(24) }, Mov { destination: Relative(22), source: Relative(25) }, Jump { location: 994 }, Mov { destination: Relative(3), source: Relative(4) }, Mov { destination: Relative(5), source: Relative(7) }, Mov { destination: Relative(21), source: Relative(19) }, Mov { destination: Relative(22), source: Relative(20) }, Jump { location: 994 }, JumpIf { condition: Relative(3), location: 1001 }, Jump { location: 996 }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(7), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(13) }, Mov { destination: Relative(20), source: Relative(2) }, Jump { location: 1088 }, Load { destination: Relative(3), source_pointer: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(3) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1007 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(21) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(22) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Load { destination: Relative(26), source_pointer: Relative(22) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(26) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1024 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(26) }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(14) }, JumpIf { condition: Relative(26), location: 1050 }, Jump { location: 1029 }, Load { destination: Relative(23), source_pointer: Relative(22) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 1035 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(29), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(32) }, Load { destination: Relative(27), source_pointer: Relative(29) }, Mov { destination: Direct(32771), source: Relative(22) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(28), source: Direct(32773) }, Store { destination_pointer: Relative(3), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(28) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U8, lhs: Relative(27), rhs: Relative(8) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Jump { location: 1052 }, Store { destination_pointer: Relative(25), source: Relative(15) }, Jump { location: 1052 }, Load { destination: Relative(28), source_pointer: Relative(25) }, JumpIf { condition: Relative(28), location: 1060 }, Jump { location: 1055 }, Mov { destination: Relative(8), source: Relative(15) }, Mov { destination: Relative(23), source: Relative(14) }, Mov { destination: Relative(26), source: Relative(21) }, Mov { destination: Relative(27), source: Relative(22) }, Jump { location: 1067 }, Load { destination: Relative(21), source_pointer: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(24) }, Mov { destination: Relative(8), source: Relative(12) }, Mov { destination: Relative(23), source: Relative(17) }, Mov { destination: Relative(26), source: Relative(21) }, Mov { destination: Relative(27), source: Relative(3) }, Jump { location: 1067 }, JumpIf { condition: Relative(8), location: 1074 }, Jump { location: 1069 }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(13) }, Mov { destination: Relative(24), source: Relative(2) }, Jump { location: 1083 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(23) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, JumpIf { condition: Relative(8), location: 1078 }, Call { location: 2281 }, Mov { destination: Relative(3), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(2) }, Mov { destination: Relative(22), source: Relative(26) }, Mov { destination: Relative(24), source: Relative(27) }, Jump { location: 1083 }, Mov { destination: Relative(4), source: Relative(3) }, Mov { destination: Relative(7), source: Relative(21) }, Mov { destination: Relative(19), source: Relative(22) }, Mov { destination: Relative(20), source: Relative(24) }, Jump { location: 1088 }, JumpIf { condition: Relative(4), location: 1095 }, Jump { location: 1090 }, Mov { destination: Relative(2), source: Relative(15) }, Mov { destination: Relative(3), source: Relative(14) }, Mov { destination: Relative(5), source: Relative(16) }, Mov { destination: Relative(8), source: Relative(1) }, Jump { location: 1104 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(13), rhs: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThanEquals, bit_size: U32, lhs: Relative(13), rhs: Relative(1) }, JumpIf { condition: Relative(4), location: 1099 }, Call { location: 2281 }, Mov { destination: Relative(2), source: Relative(12) }, Mov { destination: Relative(3), source: Relative(1) }, Mov { destination: Relative(5), source: Relative(19) }, Mov { destination: Relative(8), source: Relative(20) }, Jump { location: 1104 }, Mov { destination: Relative(9), source: Relative(2) }, Mov { destination: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Relative(5) }, Mov { destination: Relative(18), source: Relative(8) }, Jump { location: 1109 }, Load { destination: Relative(2), source_pointer: Relative(18) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1115 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(50) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1123 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(9)), MemoryAddress(Relative(10)), MemoryAddress(Relative(11)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(5) }), HeapArray(HeapArray { pointer: Relative(7), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(9), location: 1134 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(16) }, JumpIf { condition: Relative(2), location: 1138 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Mov { destination: Relative(2), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Relative(7), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(31) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(40) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(37) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(40) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 5 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(31) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(37) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1179 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 5 }, Store { destination_pointer: Relative(7), source: Relative(9) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(5) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(12) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1193 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(16) }, JumpIf { condition: Relative(3), location: 2184 }, Jump { location: 1196 }, Load { destination: Relative(18), source_pointer: Relative(11) }, JumpIf { condition: Relative(18), location: 1204 }, Jump { location: 1199 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(3), source: Relative(14) }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(8), source: Relative(5) }, Jump { location: 1211 }, Load { destination: Relative(11), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Relative(12) }, Mov { destination: Relative(3), source: Relative(16) }, Mov { destination: Relative(4), source: Relative(11) }, Mov { destination: Relative(8), source: Relative(7) }, Jump { location: 1211 }, JumpIf { condition: Relative(1), location: 1218 }, Jump { location: 1213 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(10), source: Relative(14) }, Mov { destination: Relative(11), source: Relative(9) }, Mov { destination: Relative(18), source: Relative(5) }, Jump { location: 1411 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(1) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1224 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(12) }, Load { destination: Relative(22), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1241 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(14) }, JumpIf { condition: Relative(22), location: 1267 }, Jump { location: 1246 }, Load { destination: Relative(19), source_pointer: Relative(8) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(19) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1252 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(19) }, BinaryIntOp { destination: Relative(19), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(26) }, Load { destination: Relative(23), source_pointer: Relative(25) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(24), source: Direct(32773) }, Store { destination_pointer: Relative(1), source: Relative(19) }, Store { destination_pointer: Relative(20), source: Relative(24) }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U8, lhs: Relative(23), rhs: Relative(30) }, Store { destination_pointer: Relative(21), source: Relative(19) }, Jump { location: 1269 }, Store { destination_pointer: Relative(21), source: Relative(15) }, Jump { location: 1269 }, Load { destination: Relative(25), source_pointer: Relative(21) }, JumpIf { condition: Relative(25), location: 1277 }, Jump { location: 1272 }, Mov { destination: Relative(19), source: Relative(15) }, Mov { destination: Relative(22), source: Relative(14) }, Mov { destination: Relative(23), source: Relative(4) }, Mov { destination: Relative(24), source: Relative(8) }, Jump { location: 1284 }, Load { destination: Relative(21), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(20) }, Mov { destination: Relative(19), source: Relative(12) }, Mov { destination: Relative(22), source: Relative(17) }, Mov { destination: Relative(23), source: Relative(21) }, Mov { destination: Relative(24), source: Relative(1) }, Jump { location: 1284 }, Not { destination: Relative(26), source: Relative(19), bit_size: U1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U1, lhs: Relative(19), rhs: Relative(26) }, Cast { destination: Relative(28), source: Relative(19), bit_size: Integer(U32) }, Cast { destination: Relative(29), source: Relative(26), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(32), op: Mul, bit_size: U32, lhs: Relative(28), rhs: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(28), rhs: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U32, lhs: Relative(29), rhs: Relative(4) }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(23) }, ConditionalMov { destination: Relative(23), source_a: Relative(24), source_b: Relative(8), condition: Relative(19) }, Mov { destination: Direct(32771), source: Relative(23) }, Call { location: 2284 }, Mov { destination: Relative(22), source: Direct(32772) }, JumpIf { condition: Relative(27), location: 1303 }, Jump { location: 1298 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(20), source: Relative(14) }, Mov { destination: Relative(21), source: Relative(4) }, Mov { destination: Relative(25), source: Relative(8) }, Jump { location: 1390 }, Load { destination: Relative(19), source_pointer: Relative(22) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(19) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 1309 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(19) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(28) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(22) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(12) }, Load { destination: Relative(27), source_pointer: Relative(22) }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(33), op: Equals, bit_size: U32, lhs: Relative(29), rhs: Relative(27) }, Not { destination: Relative(33), source: Relative(33), bit_size: U1 }, JumpIf { condition: Relative(33), location: 1326 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(27) }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(14) }, JumpIf { condition: Relative(27), location: 1352 }, Jump { location: 1331 }, Load { destination: Relative(23), source_pointer: Relative(22) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(29), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(23) }, Not { destination: Relative(29), source: Relative(29), bit_size: U1 }, JumpIf { condition: Relative(29), location: 1337 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Sub, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Const { destination: Relative(35), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(34), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(35) }, Load { destination: Relative(29), source_pointer: Relative(34) }, Mov { destination: Direct(32771), source: Relative(22) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(33), source: Direct(32773) }, Store { destination_pointer: Relative(19), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(33) }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U8, lhs: Relative(29), rhs: Relative(6) }, Store { destination_pointer: Relative(26), source: Relative(23) }, Jump { location: 1354 }, Store { destination_pointer: Relative(26), source: Relative(15) }, Jump { location: 1354 }, Load { destination: Relative(34), source_pointer: Relative(26) }, JumpIf { condition: Relative(34), location: 1362 }, Jump { location: 1357 }, Mov { destination: Relative(23), source: Relative(15) }, Mov { destination: Relative(27), source: Relative(14) }, Mov { destination: Relative(29), source: Relative(28) }, Mov { destination: Relative(33), source: Relative(22) }, Jump { location: 1369 }, Load { destination: Relative(22), source_pointer: Relative(19) }, Load { destination: Relative(19), source_pointer: Relative(24) }, Mov { destination: Relative(23), source: Relative(12) }, Mov { destination: Relative(27), source: Relative(17) }, Mov { destination: Relative(29), source: Relative(22) }, Mov { destination: Relative(33), source: Relative(19) }, Jump { location: 1369 }, JumpIf { condition: Relative(23), location: 1376 }, Jump { location: 1371 }, Mov { destination: Relative(19), source: Relative(15) }, Mov { destination: Relative(22), source: Relative(14) }, Mov { destination: Relative(24), source: Relative(4) }, Mov { destination: Relative(26), source: Relative(8) }, Jump { location: 1385 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(32), rhs: Relative(27) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(32), rhs: Relative(4) }, JumpIf { condition: Relative(8), location: 1380 }, Call { location: 2281 }, Mov { destination: Relative(19), source: Relative(12) }, Mov { destination: Relative(22), source: Relative(4) }, Mov { destination: Relative(24), source: Relative(29) }, Mov { destination: Relative(26), source: Relative(33) }, Jump { location: 1385 }, Mov { destination: Relative(1), source: Relative(19) }, Mov { destination: Relative(20), source: Relative(22) }, Mov { destination: Relative(21), source: Relative(24) }, Mov { destination: Relative(25), source: Relative(26) }, Jump { location: 1390 }, JumpIf { condition: Relative(1), location: 1397 }, Jump { location: 1392 }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(9) }, Mov { destination: Relative(22), source: Relative(5) }, Jump { location: 1406 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(20) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 1401 }, Call { location: 2281 }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(8), source: Relative(1) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(22), source: Relative(25) }, Jump { location: 1406 }, Mov { destination: Relative(7), source: Relative(4) }, Mov { destination: Relative(10), source: Relative(8) }, Mov { destination: Relative(11), source: Relative(19) }, Mov { destination: Relative(18), source: Relative(22) }, Jump { location: 1411 }, Load { destination: Relative(3), source_pointer: Relative(18) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1417 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(50) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1425 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(3) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Load { destination: Relative(8), source_pointer: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(20) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(7)), MemoryAddress(Relative(10)), MemoryAddress(Relative(11)), HeapVector(HeapVector { pointer: Relative(3), size: Relative(8) }), HeapArray(HeapArray { pointer: Relative(19), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(7), location: 1436 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, JumpIf { condition: Relative(3), location: 1440 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(7), bit_size: Integer(U32), value: 6 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(31) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(37) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(40) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(30) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Load { destination: Relative(7), source_pointer: Relative(3) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(7) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1470 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(7) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 6 }, Store { destination_pointer: Relative(7), source: Relative(9) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(12) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1484 }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(16) }, JumpIf { condition: Relative(4), location: 2138 }, Jump { location: 1487 }, Load { destination: Relative(8), source_pointer: Relative(11) }, JumpIf { condition: Relative(8), location: 1495 }, Jump { location: 1490 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(2), source: Relative(14) }, Mov { destination: Relative(4), source: Relative(9) }, Mov { destination: Relative(5), source: Relative(3) }, Jump { location: 1502 }, Load { destination: Relative(8), source_pointer: Relative(7) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Mov { destination: Relative(1), source: Relative(12) }, Mov { destination: Relative(2), source: Relative(16) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 1502 }, JumpIf { condition: Relative(1), location: 1509 }, Jump { location: 1504 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(10), source: Relative(9) }, Mov { destination: Relative(11), source: Relative(3) }, Jump { location: 1702 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(1) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1515 }, Call { location: 2236 }, 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) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(4) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(5) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Load { destination: Relative(21), source_pointer: Relative(5) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(21) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1532 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(14) }, JumpIf { condition: Relative(21), location: 1558 }, Jump { location: 1537 }, Load { destination: Relative(18), source_pointer: Relative(5) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(18) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1543 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(25) }, Load { destination: Relative(22), source_pointer: Relative(24) }, Mov { destination: Direct(32771), source: Relative(5) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(23), source: Direct(32773) }, Store { destination_pointer: Relative(1), source: Relative(18) }, Store { destination_pointer: Relative(19), source: Relative(23) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U8, lhs: Relative(22), rhs: Relative(30) }, Store { destination_pointer: Relative(20), source: Relative(18) }, Jump { location: 1560 }, Store { destination_pointer: Relative(20), source: Relative(15) }, Jump { location: 1560 }, Load { destination: Relative(24), source_pointer: Relative(20) }, JumpIf { condition: Relative(24), location: 1568 }, Jump { location: 1563 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(22), source: Relative(4) }, Mov { destination: Relative(23), source: Relative(5) }, Jump { location: 1575 }, Load { destination: Relative(20), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(19) }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(17) }, Mov { destination: Relative(22), source: Relative(20) }, Mov { destination: Relative(23), source: Relative(1) }, Jump { location: 1575 }, Not { destination: Relative(25), source: Relative(18), bit_size: U1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U1, lhs: Relative(18), rhs: Relative(25) }, Cast { destination: Relative(27), source: Relative(18), bit_size: Integer(U32) }, Cast { destination: Relative(28), source: Relative(25), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(29), op: Mul, bit_size: U32, lhs: Relative(27), rhs: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Mul, bit_size: U32, lhs: Relative(27), rhs: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(28), rhs: Relative(4) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(22) }, ConditionalMov { destination: Relative(22), source_a: Relative(23), source_b: Relative(5), condition: Relative(18) }, Mov { destination: Direct(32771), source: Relative(22) }, Call { location: 2284 }, Mov { destination: Relative(21), source: Direct(32772) }, JumpIf { condition: Relative(26), location: 1594 }, Jump { location: 1589 }, Mov { destination: Relative(1), source: Relative(15) }, Mov { destination: Relative(19), source: Relative(14) }, Mov { destination: Relative(20), source: Relative(4) }, Mov { destination: Relative(24), source: Relative(5) }, Jump { location: 1681 }, Load { destination: Relative(18), source_pointer: Relative(21) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(18) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1600 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(18) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(27) }, Mov { destination: Relative(23), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(21) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Load { destination: Relative(26), source_pointer: Relative(21) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(30), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(26) }, Not { destination: Relative(30), source: Relative(30), bit_size: U1 }, JumpIf { condition: Relative(30), location: 1617 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(26) }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(14) }, JumpIf { condition: Relative(26), location: 1643 }, Jump { location: 1622 }, Load { destination: Relative(22), source_pointer: Relative(21) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(22) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1628 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Sub, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Const { destination: Relative(32), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(31), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(32) }, Load { destination: Relative(28), source_pointer: Relative(31) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(30), source: Direct(32773) }, Store { destination_pointer: Relative(18), source: Relative(22) }, Store { destination_pointer: Relative(23), source: Relative(30) }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U8, lhs: Relative(28), rhs: Relative(6) }, Store { destination_pointer: Relative(25), source: Relative(22) }, Jump { location: 1645 }, Store { destination_pointer: Relative(25), source: Relative(15) }, Jump { location: 1645 }, Load { destination: Relative(30), source_pointer: Relative(25) }, JumpIf { condition: Relative(30), location: 1653 }, Jump { location: 1648 }, Mov { destination: Relative(6), source: Relative(15) }, Mov { destination: Relative(22), source: Relative(14) }, Mov { destination: Relative(26), source: Relative(27) }, Mov { destination: Relative(28), source: Relative(21) }, Jump { location: 1660 }, Load { destination: Relative(21), source_pointer: Relative(18) }, Load { destination: Relative(18), source_pointer: Relative(23) }, Mov { destination: Relative(6), source: Relative(12) }, Mov { destination: Relative(22), source: Relative(17) }, Mov { destination: Relative(26), source: Relative(21) }, Mov { destination: Relative(28), source: Relative(18) }, Jump { location: 1660 }, JumpIf { condition: Relative(6), location: 1667 }, Jump { location: 1662 }, Mov { destination: Relative(18), source: Relative(15) }, Mov { destination: Relative(21), source: Relative(14) }, Mov { destination: Relative(23), source: Relative(4) }, Mov { destination: Relative(25), source: Relative(5) }, Jump { location: 1676 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(22) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(29), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 1671 }, Call { location: 2281 }, Mov { destination: Relative(18), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(4) }, Mov { destination: Relative(23), source: Relative(26) }, Mov { destination: Relative(25), source: Relative(28) }, Jump { location: 1676 }, Mov { destination: Relative(1), source: Relative(18) }, Mov { destination: Relative(19), source: Relative(21) }, Mov { destination: Relative(20), source: Relative(23) }, Mov { destination: Relative(24), source: Relative(25) }, Jump { location: 1681 }, JumpIf { condition: Relative(1), location: 1688 }, Jump { location: 1683 }, Mov { destination: Relative(4), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(14) }, Mov { destination: Relative(6), source: Relative(9) }, Mov { destination: Relative(18), source: Relative(3) }, Jump { location: 1697 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(19) }, BinaryIntOp { destination: Relative(3), op: LessThanEquals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 1692 }, Call { location: 2281 }, Mov { destination: Relative(4), source: Relative(12) }, Mov { destination: Relative(5), source: Relative(1) }, Mov { destination: Relative(6), source: Relative(20) }, Mov { destination: Relative(18), source: Relative(24) }, Jump { location: 1697 }, Mov { destination: Relative(7), source: Relative(4) }, Mov { destination: Relative(8), source: Relative(5) }, Mov { destination: Relative(10), source: Relative(6) }, Mov { destination: Relative(11), source: Relative(18) }, Jump { location: 1702 }, Load { destination: Relative(2), source_pointer: Relative(11) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 1708 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(50) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 1716 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(2) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(18) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(7)), MemoryAddress(Relative(8)), MemoryAddress(Relative(10)), HeapVector(HeapVector { pointer: Relative(2), size: Relative(5) }), HeapArray(HeapArray { pointer: Relative(6), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(7), location: 1727 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(9) }, JumpIf { condition: Relative(2), location: 1731 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(2), bit_size: Integer(U8), value: 49 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, 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(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Load { destination: Relative(6), 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(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1756 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(50) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1764 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(10), source_pointer: Relative(11) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(18) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(12)), MemoryAddress(Relative(14)), MemoryAddress(Relative(6)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(10) }), HeapArray(HeapArray { pointer: Relative(11), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(9), source_pointer: Relative(5) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1779 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(50) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(9) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1787 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(9) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Load { destination: Relative(18), source_pointer: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(20) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(12)), MemoryAddress(Relative(14)), MemoryAddress(Relative(6)), HeapVector(HeapVector { pointer: Relative(9), size: Relative(18) }), HeapArray(HeapArray { pointer: Relative(19), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(9), source_pointer: Relative(5) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(9) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1801 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(21) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(19) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(19) }, Store { destination_pointer: Relative(20), source: Relative(2) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(2) }, Load { destination: Relative(19), source_pointer: Relative(9) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1825 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(19) }, Load { destination: Relative(19), source_pointer: Relative(50) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(19) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1833 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(19) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Load { destination: Relative(22), source_pointer: Relative(23) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(24) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(12)), MemoryAddress(Relative(17)), MemoryAddress(Relative(13)), HeapVector(HeapVector { pointer: Relative(19), size: Relative(22) }), HeapArray(HeapArray { pointer: Relative(23), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, Load { destination: Relative(9), source_pointer: Relative(5) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1847 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, Mov { destination: Relative(22), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, Mov { destination: Relative(23), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(6) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(5) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1863 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, JumpIf { condition: Relative(3), location: 2054 }, Jump { location: 1866 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Load { destination: Relative(4), source_pointer: Relative(22) }, Load { destination: Relative(5), source_pointer: Relative(23) }, Load { destination: Relative(7), source_pointer: Relative(24) }, Load { destination: Relative(8), source_pointer: Relative(7) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(10), source: Relative(10), bit_size: U1 }, JumpIf { condition: Relative(10), location: 1876 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(50) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(8) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1884 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(8) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Load { destination: Relative(11), source_pointer: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(19) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(3)), MemoryAddress(Relative(4)), MemoryAddress(Relative(5)), HeapVector(HeapVector { pointer: Relative(8), size: Relative(11) }), HeapArray(HeapArray { pointer: Relative(18), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(3), location: 1895 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(13) }, JumpIf { condition: Relative(3), location: 1899 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(7) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(12) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(16) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(3) }, Mov { destination: Relative(1), source: Relative(14) }, Jump { location: 1933 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, JumpIf { condition: Relative(3), location: 1970 }, Jump { location: 1936 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Load { destination: Relative(4), source_pointer: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1946 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(50) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1954 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(50), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Load { destination: Relative(9), source_pointer: Relative(10) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(11) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(50), rhs: Direct(2) }, ForeignCall { function: \"print\", destinations: [], destination_value_types: [], inputs: [MemoryAddress(Relative(12)), MemoryAddress(Relative(1)), MemoryAddress(Relative(2)), MemoryAddress(Relative(3)), HeapVector(HeapVector { pointer: Relative(5), size: Relative(9) }), HeapArray(HeapArray { pointer: Relative(10), size: 203 }), MemoryAddress(Relative(15))], input_value_types: [Simple(Integer(U1)), Simple(Integer(U1)), Simple(Integer(U32)), Simple(Integer(U32)), Vector { value_types: [Simple(Integer(U8))] }, Array { value_types: [Simple(Integer(U8))], size: 203 }, Simple(Integer(U1))] }, JumpIf { condition: Relative(1), location: 1965 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(6) }, JumpIf { condition: Relative(1), location: 1969 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Load { destination: Relative(3), source_pointer: Relative(4) }, JumpIf { condition: Relative(3), location: 1973 }, Jump { location: 2051 }, Load { destination: Relative(3), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Load { destination: Relative(10), source_pointer: Relative(9) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(13), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(10) }, Not { destination: Relative(13), source: Relative(13), bit_size: U1 }, JumpIf { condition: Relative(13), location: 1981 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(10) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(3) }, Mov { destination: Relative(13), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(13), source: Relative(9) }, Mov { destination: Relative(16), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(12) }, Load { destination: Relative(18), source_pointer: Relative(9) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1998 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(14) }, JumpIf { condition: Relative(18), location: 2024 }, Jump { location: 2003 }, Load { destination: Relative(11), source_pointer: Relative(9) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(11) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 2009 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(22) }, Load { destination: Relative(19), source_pointer: Relative(21) }, Mov { destination: Direct(32771), source: Relative(9) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(20), source: Direct(32773) }, Store { destination_pointer: Relative(10), source: Relative(11) }, Store { destination_pointer: Relative(13), source: Relative(20) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U8, lhs: Relative(19), rhs: Relative(2) }, Store { destination_pointer: Relative(16), source: Relative(11) }, Jump { location: 2026 }, Store { destination_pointer: Relative(16), source: Relative(15) }, Jump { location: 2026 }, Load { destination: Relative(21), source_pointer: Relative(16) }, JumpIf { condition: Relative(21), location: 2034 }, Jump { location: 2029 }, Mov { destination: Relative(11), source: Relative(15) }, Mov { destination: Relative(18), source: Relative(14) }, Mov { destination: Relative(19), source: Relative(3) }, Mov { destination: Relative(20), source: Relative(9) }, Jump { location: 2041 }, Load { destination: Relative(3), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(13) }, Mov { destination: Relative(11), source: Relative(12) }, Mov { destination: Relative(18), source: Relative(17) }, Mov { destination: Relative(19), source: Relative(3) }, Mov { destination: Relative(20), source: Relative(9) }, Jump { location: 2041 }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(18) }, BinaryIntOp { destination: Relative(10), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(9) }, JumpIf { condition: Relative(10), location: 2046 }, Call { location: 2281 }, Store { destination_pointer: Relative(4), source: Relative(11) }, Store { destination_pointer: Relative(5), source: Relative(9) }, Store { destination_pointer: Relative(7), source: Relative(19) }, Store { destination_pointer: Relative(8), source: Relative(20) }, Jump { location: 2051 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(3) }, Jump { location: 1933 }, Load { destination: Relative(3), source_pointer: Relative(9) }, JumpIf { condition: Relative(3), location: 2057 }, Jump { location: 2135 }, Load { destination: Relative(3), source_pointer: Relative(23) }, Load { destination: Relative(4), source_pointer: Relative(24) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2065 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(4) }, Mov { destination: Relative(10), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(12) }, Load { destination: Relative(11), source_pointer: Relative(4) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(11) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 2082 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(14) }, JumpIf { condition: Relative(11), location: 2108 }, Jump { location: 2087 }, Load { destination: Relative(7), source_pointer: Relative(4) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(7) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 2093 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(21) }, Load { destination: Relative(18), source_pointer: Relative(20) }, Mov { destination: Direct(32771), source: Relative(4) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(19), source: Direct(32773) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(19) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U8, lhs: Relative(18), rhs: Relative(2) }, Store { destination_pointer: Relative(10), source: Relative(7) }, Jump { location: 2110 }, Store { destination_pointer: Relative(10), source: Relative(15) }, Jump { location: 2110 }, Load { destination: Relative(20), source_pointer: Relative(10) }, JumpIf { condition: Relative(20), location: 2118 }, Jump { location: 2113 }, Mov { destination: Relative(7), source: Relative(15) }, Mov { destination: Relative(11), source: Relative(14) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, Jump { location: 2125 }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(4), source_pointer: Relative(8) }, Mov { destination: Relative(7), source: Relative(12) }, Mov { destination: Relative(11), source: Relative(17) }, Mov { destination: Relative(18), source: Relative(3) }, Mov { destination: Relative(19), source: Relative(4) }, Jump { location: 2125 }, Load { destination: Relative(3), source_pointer: Relative(22) }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(11) }, BinaryIntOp { destination: Relative(5), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 2130 }, Call { location: 2281 }, Store { destination_pointer: Relative(9), source: Relative(7) }, Store { destination_pointer: Relative(22), source: Relative(4) }, Store { destination_pointer: Relative(23), source: Relative(18) }, Store { destination_pointer: Relative(24), source: Relative(19) }, Jump { location: 2135 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(3) }, Jump { location: 1863 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, Load { destination: Relative(4), source_pointer: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2149 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(14) }, JumpIf { condition: Relative(8), location: 2179 }, Jump { location: 2154 }, Load { destination: Relative(5), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2162 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(23) }, Load { destination: Relative(20), source_pointer: Relative(22) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(21), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(18) }, Store { destination_pointer: Relative(10), source: Relative(21) }, Load { destination: Relative(5), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(20), rhs: Relative(4) }, BinaryIntOp { destination: Relative(4), op: Mul, bit_size: U1, lhs: Relative(5), rhs: Relative(8) }, Store { destination_pointer: Relative(11), source: Relative(4) }, Jump { location: 2181 }, Store { destination_pointer: Relative(11), source: Relative(15) }, Jump { location: 2181 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(4) }, Jump { location: 1484 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(8) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2195 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(14) }, JumpIf { condition: Relative(8), location: 2225 }, Jump { location: 2200 }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(10) }, Load { destination: Relative(18), source_pointer: Relative(8) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 2208 }, Call { location: 2236 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(18) }, BinaryIntOp { destination: Relative(18), op: Sub, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(23) }, Load { destination: Relative(20), source_pointer: Relative(22) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2239 }, Mov { destination: Relative(21), source: Direct(32773) }, Store { destination_pointer: Relative(7), source: Relative(18) }, Store { destination_pointer: Relative(10), source: Relative(21) }, Load { destination: Relative(4), source_pointer: Relative(11) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U8, lhs: Relative(20), rhs: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Mul, bit_size: U1, lhs: Relative(4), rhs: Relative(8) }, Store { destination_pointer: Relative(11), source: Relative(3) }, Jump { location: 2227 }, Store { destination_pointer: Relative(11), source: Relative(15) }, Jump { location: 2227 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(17) }, Mov { destination: Relative(1), source: Relative(3) }, Jump { location: 1193 }, 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: 2235 }, 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, Load { destination: Direct(32774), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32778), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32779), op: Equals, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, JumpIf { condition: Direct(32779), location: 2249 }, Jump { location: 2257 }, BinaryIntOp { destination: Direct(32773), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 2280 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32778) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32778) }, Mov { destination: Direct(32784), source: Direct(32781) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 2279 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 2272 }, Jump { location: 2280 }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 2288 }, Jump { location: 2290 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 2309 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 2307 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 2300 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 2309 }, Return]" ], - "debug_symbols": "td3driTFsQXgd5lrLjoz4yeTV0GWhfHYQhoBGsORjhDvfjoic8XCR9rl9q6ZG+oDZq/o3Z2rqruqGn7/8PePf/vtn3/98ad//PyvD99+9/uHv33+8dOnH//5108///D9rz/+/NPzn/7+4RF/aePDt+2bD032RvfG9sb3Zu7Nyk1/7E3bm743O6XvlL5T+k7pO6XvlL5Txk4ZO2XslLFTxk4ZO2XslPFMkedm7s3KjTz2pu1N35uxN7I3zxR9bmxvfG/m3qzc6GNv2t70vRl7I3uzU3Sn6E7RnaI7xXaKP39gPTe6N7Y3vjdzb1Zu5mNv2t70vRl7s1PmTpk7Ze6UuVPmTlk7ZcUT+Xhu+9mOs5Wz1bO1s/WznXvbHhEQr/KjAwMQQAEDHJhAvL79ifYAGtCBAQiggAEOTADJHckdyR3JHckdybkWR8CBdRBLqklgHsQqaRZwYALrIFbLRgM6MAABFECyIlmRrEiOFdQ80IAODEAABQzwA4+cGWhABwYggAIGOBCPcAXWQSzZjQZ0YAACKGCAA0ieSF5IXkheSF4nuceC7I+AHMRr2ntgAusgdjAbDejAAARQwAAkDyQPJAuSBcmCZEFy7Hz6CChggAMTWAextDYaEMkSUMAAByawDmIhbTQAObGQugYEUMAAByawDmJpbTSgA5FsgUj2gAHzIFZCnwE/iP1Sjxc3dkwbDkxgbYzHA2hAB55/eDwC6yD2PxvtIPYJI482ChjgwATWQSykjQbEH+6BCayDWBuJfAVj2892nK2crZ6tna2f7TzbSNQ4+j2ABnRgAAIoYIADE0CyI9mR7Eh2JDuSHcmOZEeyI9mRPJE8kTyRPJE8kTyRPJE8kTyRPJG8kLyQvJC8kLyQvJC8kLyQvJC8TrI8HkADOjAAARQwwIEJILkhuSG5IbkhuSG5IbkhuSG5IbkhuSO5I7kjuSO5I7kjuSO5I7kjuSN5IHkgeSB5IHkgeSB5IHkgeSB5IFmQLEgWJAuSBcmCZEGyIFmQLEhWJCuSFcmKZEWyIlmRrEhWJKODgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODMztogQZ0YAACKBDJHnBgAusgO5hoQAcieQYEUMAAByawDrKDiQZ0AMkdyR3JHckdyR3JHckDyQPJA8nRQWkBARQwwIEJrIM8hZ+Ik/g90IEBCKCAAQ5MYB1EBzeQrEhWJCuSFcmK5CiRxGsaJdowwIEJrIMo0UYDOjAAJDuSHcmO5CiRxJKIEiWiRBsN6MAABFAgcuJlisokojIbDejAAARQIB5hXnVwYAJrY0VlNhrQgQEIoIABDkwAyQ3JDcmxwjWvd/SDWKLaAw3owAAEUMAAByawDgTJgmRBsiBZkCxIFiTnNacRmMA6yCtPiQZ0YAACRI4EJrAO8tpTogEdGIAA8Qg1YIADE1gHsZ43GtCBAQiAZEeyI9mR7EieSI71rBYYgB7EglQPyMbzMlUkrtQsLSj2gEet1EujJCUtWalm9JrRa8aoGaNmjJoxakYsNstLa7HajqzkpVlaUCy5o1Z6zrB9PU5LVvLSLC0oFtpRK1VerDXrKSlpyUpemqUFxSI8aqVeihkjFTMkZaUJxdIxTTkU68EsZSUvzdKCYid31Eq9FD+Rqyn2XakWO6+jBsVR2GZKS1by0iwtKFbiUSvFT6zULC0o1tVWvh3d6qVRkpKWrOSlWXrO8H2Z9VFqpV4aJSlpyUrPGT5Ss7SgWAdHrdRLMUNSUtKSlbw0SwuK3dJRK/VSzfCa4TXDa4bXDK8ZXjNmzZg1Y9aM2Fm5pqSkJSt5aZYWFOv0qJV6qWasmrFqxqoZq2asmrEwoz8epVbqpVGSUsyYKSt5aZYWFAfoo1bqpVGSUs1oNaPVjFYzWs3oNaPXjF4zYj/uK/X82Rl7zLyaO1vKoWjAtFQr9dIoSUlLVvLSLC3IaobVDKsZVjOsZljNsJoRDZiemqUFRQOOWqmXRklKMSOfq1jtRwuK1X7USr00SlKqvFjtM5/7WO1Hs7SgWO1HrdRLoyQlLcU9MPmqxmpf+VrGGk/lBeGj+Gexl8oLwFtxtJ+a0pKVHIrj9MobQmLlHHlplhYUx+mjVuqlUZJSzZCaITVDaobUDK0ZWjNixa58zLFij6SkJSt5aZYWFCt2WWqUpKQlK3lplhbklRerc3mql0ZJSlqykpdmaUF5/9RWzJipmLFSUjJo3wz1SCqYl3efB/2kkEoa6eQkVzHvejrMH+tJJye5inkD3GMkBymkkkY6OclVlPyxvLUp7206dHIW8wietzrlEXyrlXpplKSkJSvlFE9OchXzPqXDRnZykELm7zSTRjo5yVXMe5cOc9pKdnKQQipppJN551uupLybaTPvZzpsZCcHKaSSRjrJaaum5YVTsJGdHKSQShrp5CQ5rXFa47S8uy/vq8tLqqCQShrp5CRXMe/2O2wkp3VO65zWOa1zWue0zmmd07KIeS9gXlJ9vq8NSo7Yd/ZJMW/l63nXbN7Md7iKeUPfYSM7OUghlTSS04zTjNOc05zTnNOc07JOcadayyuaoJFOTnIVs06Hjcxp+UxmcQ6NdHKSq5jFOWwkc7M4PV+hLM6hkkY6OckF5tVOsJGdzGmazGn7Rk0jZ3Hfu7pv4PRi3uIcdyu2vHYIDlKKkn9gJQcppJJGOjnJVcx7Vg8byWnKacppymnKacppymm57Ef+FrnsDxvZyUEKqaSRedtu3pOeC/ywkZ0cpJBKGvmn3Pgt4q69lpcND3OBHzayk4MUUkkjncxpI5nTcp3lWj8cYF7/a3E5ouUVwMPc/8blhpaX8cBODlJIJY30Yu5IR95BnDvSQyWtmO8xxr6T+EE2spODFFJJK+aazLMWeaEMFFKLuUrypvO8rAVOchVz7Rw2spODjGlxDaDlZS7QSCcnuYq5dg4bGdNkJAcppJJGOpnTcmnk2tnMXeZhIzs5SCFzWq6o3GUeOjnJBeaFMbCRnRykkEoa6eQkOa1xWuO0xmmN03Ktx9WTlpfNQCOdnOQq5nuNw0bmtH23+yCFVNJIJye5ivkdmLh20fKyGtjJQQqppJExTfPbOvlR4HAVs6aHjezkIIXMaZI00slJrmIecQ4b2cmclq9btvtQSSOdnGROi73GzCPOYSM7OUghlTQyp+0vLkxyFXNfctjITg5SSCWN5DTnNOe0yWmT0yan5b5Ec6XmvuRQSSOdnOQq5r7kMKblyfu8QggOUkgljXRykjEtLwXkFUOwkZ0cpJA5TZJGOjnJVcx9yWEjO5nTLCmkkkY6OclVzH3JYSM7yWmd03KvkZcf8opmyysHeU0T7OQgM0GTShrp5CRXMfcPh42MaZ7f/sv9w6GQShrp5CRXMfcPeTUhr32CnRykkErmtFwPuX84nOQq7m9WbTaykzktF8H+htWmkkY6OclVzP3DYSM7yWnOac5pzmnOac5pzmmT0yanTU7L/UOeklm5fzhU0kgnJ7mKuX84bGQnOW1xWu4JPL4C9MjOxzn7JxvZyUFmgiaVNNLJSa5idv6wkTFt5pdZs/OHQipppJOTXMXs/OzJRnZykEIqmdNG0slJrmLuHw4b2UmpZ33wBcj6H2ZYPiVZ/8NGdnKQQipppJOT5DTlNOU05TTlNOU05bSsf1wo6XlZGpzkKmb9DxvZyUHmtHx2suiHk1zF/UXLzUZ2cpDM3V+5zAW+v3S56eQkVzGLftjITg5SyJyW35/cX8TMb1Dub2Am91cvN/Of5lLOo3Ryf+13StLQzf3V38NJrmJ7kI3s5CCVzKNTPFH7+72HnYwfWyMppJJGOjnJVcwOHTayk5w2OG1w2uC0wWmD0wanZclWPpNZssNODlJIJY10MqdFL/a3kg87OUghlTTSyT/l5m8RFdnfUz5sZCcHKaSSRjo5yZyWL3eWbOXSyGYdSnF/BXklB5kJsU/d3y22/LOrkZ0cpJBKGunkAvsDp41736faN4VU0kgnJ7mK+1T7ZiM5rXFa47SoU3/kN6SjTuAqxoEKbGQnBykkc6NkoJM5Lf+7EPlN7M38LvZhIzs5SCGVNNJJTstvZ8e1tJ7fz87z9j2/oQ0OUsm57xro+SXsrbxHZquVemmUpKQlK3mpZmjNsJqRX9GOi3V9fyX7UEkjnZzkKubXsw+Zm1/RPhxkTsvl4koa6eQkV3E+yEZ2cpCcNnNaPv1540AunLxxYGtBeZPA448/vvmA/2zJX3/9/PFj/FdL/vTfMfnu9w+/fP/540+/fvj2p98+ffrmw/98/+m3/EP/+uX7n3L76/efn//2mfnxp78/t8/Af/z46WPoj2/404+3f1S64afl+aArQP+LhDhvehJ0vZXQ306IizYnIS6NvJUw3k5Ygofw/Djzjp+PWy7xCB7D3vM7WHyA3wnPE+xvJdjtZ8HfThiPBx7DeL41fythvp3wbKedhGf55jsSVkPA6us9P//KKzlvv5KXCQsPIe5hfE9Cj3eXO2E85nteydbwGEZ7+7eIPf3Nl/Iq4qXX8jLglRfzKuDFV/My4rUXw25XOy4/33wxriJeejEuA155Ma4CXt1JXkXku7j/2K3rR/FSPS8jbi+JOLGB1/N5YuM9i2qOeiae58TfccR58TH024/h8ti/8BhktDerMS4OvbNei+dp4wp4Hr3+LUC+YoBXMfxP7f5/AVdPwuhWT8J819MoXgn66O9KUOyjnmH65guxbr//kMfNXcxVwIu7mMtf47W9tYz7z4Tcfism9w/gcvcALncP4HL/AC73D+CXr8Zrb6f0/hFc7x7B9e4RXO8fwfX+4VfvH34vG/payfX+Rx29+1lH737Y0fufdi4jXntLpvc/Men8qmvixfdDl8vqtTdEV4efFx/F5RHs/tsyba3eT7z9IPxx812Vt68YcPttmca9aftJsIe+52n0UU+j63xXwqPOjfl4cz/lX+C00P2zCVcRL+3qrgJe3EdcRrx4WuX+R/l5/2TlvNjNjBHfr9ivx9C3I+6/v5z331/Ou+8v5933l/P++8vLiNcOgNeP4rVThvff5c77p6DXuL0mriJeWhPr7rn8df9k/mXEa2vi+lG8tCYuI+6viRffjsz7Z4n8/ukyv3++7PJYbDwWzzd3me2hN9/UtId9zYTb74t8oR4yrb3nmVyPOl21hrwnYc56b7befm+W31q4eSBurd+/znKV8dpVkquEF3cV1xmv7Suun9HXDiD5nN1+Vebt90etrdtvkPLbaXcvoV1lvLY6+t2TqpcJr15Fu8x47Yj4Hx7Ha+v8MuPVde7313mfX2BtzNtrY95eG/MLrI35BdbG/AJrY37dtfHiW5Xr9fXae5XLffHLj6N91fdMS+qy0nr7DEiTu2eSmrSvmXD7PdOqo5o+hr/jmdTecEzTLu95z6R51/NJaPNdj6EuEj7PCl68mn77tZhfM+Huq6m8WKryrl6o1h5P9eremH73edDxNRNuP5Pe6pn0cXGT0dWHQ6k9f9d2keF3j4Pqt4+Dl8+F87mYb/8edntfae1rJtxeE6s+X9rjT4/hv3gml+PT4TPM334mr85ujomGdnmM92UIj8FycQy2+2dZL54Ne4xez6dcPBvr7qq4fT3oMuHuurJHvWu31t/TUOuGX8L69HcljHoM3d7+5OBfYGX6F1iZ/nVXZl9IsOeZlLcfxe2VOR9fM+H2yhzd63lY71wVLx4Fry4KvfqZ9Crjtc+klwkvHYuvEl79THqZ8eJn0uvH8dpn0suMFz+T2hdYG6vfXxvr9pnOy4SX1sbq99fGZcaLa2N9gXO260ucs739jLYv8Iy2+8+o330L7/ffwV9GXPwaf3n+3fc//Pj53/5H039E1ucfv//bp4/nb//x208//Onf/vq/v+Df4H9U/cvnn3/4+PffPn+MpPh3+/9W3T98+10fz4+9ffj4yzcfLP/+eRL7+Q/l+ffxfcnvel/yzfMvK/5B2z+h8Sf8L3/EQ/w/", + "debug_symbols": "td3djuREtgXgd6lrLhwR+yeCV0EINdCMWmo1qAeOdIR495OxI9ZezJHSeMpVN+OP6um1s9KxnC7bBX++/Pzxxz/+9cOnL7/8+u+Xb7/78+XHr58+f/70rx8+//rTh98//frl8dU/X475P6W9fFu+eSmyNro2tja+Nn1tRmzqsTZlberarJS6UupKqSulrpS6UupKaSulrZS2UtpKaSulrZS2UtojRR6bvjYjNnKsTVmbujZtbWRtHin62Nja+Nr0tRmx0WNtytrUtWlrI2uzUnSl6ErRlaIrxVaKP/7CeGx0bWxtfG362ozY9GNtytrUtWlrs1L6Sukrpa+UvlL6ShkrZcw38nhs6962vZW91b21vfW97Wtbjhkw9/JRgQYIoIABDnRg7t/6QDmAAlSgAQIoYIADHUByRXJFckVyRXJFcqzFNuHA2JhLqshE35irpNiEAx0YG3O1LBSgAg0QQAEkK5IVyYrkuYKKTxSgAg0QQAEDfMNnTp8oQAUaIIACBjgwX+GYGBtzyS4UoAINEEABAxxAckfyQPJA8kDy2Ml1Lsh6TMjG3Ke1TnRgbMwDzEIBKtAAARQwAMkNyQ3JgmRBsiBZkDwPPrVNKGCAAx0YG3NpLRRgJsuEAgY40IGxMRfSQgGQMxdS1QkBFDDAgQ6Mjbm0FgpQgZlsEzPZJwzoG3Ml1D7hC+2YgWOiABVoG7Pm7ZioQANkI/bg3Nre+t72vR1rGztvbsve1r2diW1CAAUMcKADY2PuuYUCVADJimRFsiJZkaxIViQbkg3JhmRDsiHZkGxINiQbkg3JjmRHsiPZkexIdiQ7kh3JjmRHckdyR3JHckdyR3JHckdyR3JHckfyQPJA8kDyQPJA8kDyQPJA8kDy2MlyHEABKtAAARQwwIEOILkguSC5ILkguSC5ILkguSC5ILkguSK5IrkiuSK5IrkiuSK5IrkiuSK5IbkhuSG5IbkhuSG5IbkhuSG5IVmQLEgWJKODgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDgg4KOijooKCDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDig4qOqjooKKDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDhg4aOmjooKGDjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODjg46OujooKODHh2UCQUMcKADYyM6OK+6RgcDFWiAAAoYMJNtogNjoUcHAwWoQAMEUMAABzqA5ILkguSC5ILkguSC5ILk6GBcN+7A2IgOBgpQgQYI8EiWY8IABzowNmYHFwpQgQYIgOSG5IbkhuSGZEHyLJHIxNiYJVooQAUaIIACBjiAZEWyIdmQPEskOtEAARQwwIEOjI1ZGZm7aVZmQQAFDHCgA2NjVkZ8ogAVaIAAChjgQAfGxkDyQPJA8kDyQPLYyWOucOkTtjGXqM47CHOJLhjgQAfGxlyiCwWoQAOQXJFckVyRXJFckdyQPJeolokKNEAABQxwoG/MDwWtExVogAAKGOBAB+YrbPMWzAEUoAINEEABAxzoAJINyYZkQ7Ih2ZA817PKhANjYy5I1Ym+UI55+FMP1VRLSUpTlvJUTw1oHge3ckbJGSVnlJxRckbJGSVnxGLroQHFclsqqZpqKUlpas4YoQHFIlsqqZpqKUlpKvPmWrO46TYX29aA5hFxq6RqqqUkpSlLzRnr7t2cUeP23ZGq0Fw61kIFmocsk5CmLOXQPDpYrJL5ibrlqb4V9wSbx63AI1VSNdVSktKUpeaMHuqpAc19vlVSNdVSkprfxwhZylM9NaC5DrYeM/wI1VRLSUpTlvJUTw1oroOtnCE5Q3KG5AzJGZIzJGdIzpCcoTljHpO8hGqqpSSlKUt5qqcGNFfYVs6wnGE5w3KG5QzLGZYzLGdYzvCc4TnDc8b8LHYJSUpTlvJUTw1ofiRvlVRN5YyeM3rO6Dmj54yeM3rOGDljfhZ7tGd2y+f94bjv6R5SaDagr5vhA5oN2CqpmmopSWnKUp7KGTVntJzRckbLGS1ntJwxG9BbyFKe6qkBzQZslVRNzRkSspSnempAc7VvlVRNZd5c7V1DmrKUp3pqQHO1b5VUTbXUnBF7da72HvtyrvGtAc012XuoQ/OErZdQS0lKt+IO6jhCktKUpTzVUwOax+ytkqqpnFFyRskZJWeUnFFyRskZc8WOeM1zxW7VVEtJSlOW8tScMVddm6tzq6ZaSlKaspSnmDdf81x/cSt5q6RqqqUkpSlLeaqn5ox4MGWu2KGhmhJorqthoQbFE0ce8lRPDWh+To8e6qmxFXdDl+Y+9xqqqZaSlKYs5amemk98HPHEWTzHs1nISjZSSCWNjAeaYkQ8abY5kvHE2WYhKxnTWlBIJY10spMjKTEtnimSQlaykUIqaaSTnRxJ5TTlNOU05TTlNOU05TTlNOU05TTjNOM04zTjtHhe6fCgkkY62cmRjKeZNgtZyUZymnOac5pzmnOac1rntM5p8UzTEX2IZ5iOeeoX9zZLPDwXdzcX457j4/RnMh6B2yxkJRsppJJGOtlJTqucVjmtclrltMppldOiTvuRNic7OZJRp81CVrKRMc2DTnZyJKM4m4WsZCOZG8WJp9biPiXoZCdHMoqzWchKNlLImDaC8cBi7Ploy2JUZDO+Gs/WxqpejMfl4pnDuAMIKmnJeIZzPg5W4lYeaKSTnRxg3NQDC1nJRgqppJFOdpLTCqetZz8lWMlGCqmkkU52MqbNRWvr2c/FRgqppJFOdpK5scBrPJcZC3yzko0UUkkjnezkSMayr+sJz5jWg43UZKzJ+WRcift4m3Egnc/Clbi/Bo5kHEgX4/nLFg96xxOYi/EM5mYB49bT44JBsJFCKmmkk50cyVgl8yJ+iZtRYCUbKaSSRjoZ39saMZJxcNwsZCUbGdMsqKSRTnZyJGPtbMa0eCw31s5mI4VU0kgnOzmSsXY2OU04TThNOE04TThNOE04TTgtDpltPTpcyEo2UkgljXQyHsKOJRfnGotxIN0sZCUbKaSSc5rUoJOdHMmoyGYhKxnTWlBIJY10spMjGecamzEtFkw8Ub3ZSCGVNNLJTsa02G/R7s1CVrKRQs5p87p6idtmoJOdHGDcPgMLWck5TeO3S+JYsqmkkU52ciTjWLJZyEpyWuG0wmmF0wqnFU6LY8m88VHiNhtYyEo2UkgljYxpEuzkSMaxZLOQlWykkPG9adBIJzs5knEs2YxpFqxkI4VU0kgnOxnT4puPY8lmISvZSCGVNNLJTnKacVocNXT9csJMiGvmcV8P7ORIxvEh7jb0OD5sVrKRQipppJMxrQVHMo4Pm4WsZCOFVDK+t1gPcXzY7ORIxvFhs5AxLdZDHB82hVTSSCc7GdPmIhhxfNgsZCUbKaSSRjrZSU4rnFY4rXBa4bTCaYXTCqcVTiucFseHuJ0Q9zjBQlaykUIqaaSTneS0xmlxJLD1OzMzIa7sx51NsJMjGZ03Dxayko0UUkkjnYxpLTiS0fnNQlaykUIqGd+bBJ3s5Eiu36laLGRM02AjhVTSSCd7Mg4K61137oCo/2aExVsS9d90spMjGfXfLGQlGykkp3VO65zWOa1z2uC0wWlRf4/FFfXfFFJJI53s5NisR9Tf45e6ouibQipppJOdHMnC3Ch6j18Xi6JvNlJIJY10spMjGUXfjGnx67FR9HnLo8ZtZdCS8Sk972HUuDu8GdWb93lq3O2Nbta43QsKqaSRTnZyJFffFuPTKd6o9bm52Mn4NucvdsUtYrCQlWykkEoa6WQnOc05zTnNOc05zTnNOW39JmO8k+t3GRc7OZJRss1CVrKRMc2DTnZyJKNOm4WsZCOZG3XqUZGo06aTnRxgiTptFrKSjRQypo3gnDbvxdT1q7yLUafN+Gr84nc0YDE+s+ZNs1oqzqPq+lXbzU6O5PrMWixkJRupZFxIiJe+LrUH16X2xUJWspFCKmmkk5wmnKacFnWad4Xq+oXfTSWNdLKTIxkl22RulGyzkTGtBZU00slOjmSUbLOQlWwkp0XJRuzudVE91o47OZLr8vmirHvZdd0RX7KUp3pqQHFHfKmkaqqlcsbIGSNnRIPmTbPHvfGDLGQlGymkkkb+LbeTI7kaZMFCVrKRQipppJOdHMnKafGBNG/11bj17+uLLaWp+fbbX39984J/OcQPv3/9+HH+uyH+9m+L+O7Pl98+fP345feXb7/88fnzNy//8+HzH/F/+vdvH77E9vcPXx9/+ijqxy8/P7aPwF8+ff449dc3/NvH87/6uJ2Hv/24h2cZoP9FwrxGtRN0PEuozxMeRZWd8GhneZbQnicMwUt4nDq+4u/PB9nwCo5mr/kebP70txKsH88S7Pa74M8T2nHgNbTHGdGzhP48odq8XBAJ1UZ/RcIoCHj8vPSav39lT/bbe/I0YeAlzKfPXpNQ5wf1SmhHf82ejDtsa0+W59/FvIN4c1eeRVzal6cBV3bmWcDFvXkacW1n2O1qz3uMN3fGWcSlnXEacGVnnAVcPUieRcTd1X/s1vmruFTP04j7S6K3/D4eVw9f83lxLeH0c3ee7azP3VaeLst28kb0fB8el8cy4PHJ8R8B9R0DPBel/61Z/y/g7E1o1fJN6K96G8UzQY/6qgTF8eERpk93hN8/A7r7wdnuf3KefhvXjpRSbr8TUm+fBkm7fbw+i7h0vJa757Ry/6T2NOLakfJ0b1w7lZFxf2+Mu3tj3N0b4/7eGLc/+k4jLu7Qcrvkard36FnEpR16GnBlh54FXNyhpxHXTofOX8WlNXEa8QZr4trZzOlnx/0TIi0lP8nr0x1idvN8xvwdA26fEOk8GK83wQ59zdvoLd9G1/6qhCOvCHl7eoTw+5eEvN3+4PG7n+HebrfT738E+/1rU97v74+Tj57W5oXptT+aPo3ox/0LXPd/Eu93fxLvd38S7/d/Eu/3fxLv938S7/d/Ej9dmdcWd79/ftnvnl/2u+eX/f755WnExTVx/xS1j/ddE9fOJfx9r8+48VOwPz1YjXHzbOJxI/o9E26fkPjAupRu5TVv5DjyCs1o8pqE3vOkaDw/KYqH5G9+ApbD7l/WP+7+4HOacLGj5xnXSnr+jl47cpdy/3JRKfX2iUkp7faZSRxg796xOcu4tjpOEy7dszlLuHrT5jTj2kfRP7yOa+v8NOPiOi/3L5iUWu+vjbOMa2vjNOHS2jhLuLo2TjMuro3z13FtbZxmvMXauHaacX4cvX+qMiTvYIznP/KX27eCSmvvmXD7XGXkp4kezV/xTmot+CzRKq85V9F4TnAnlP6q15D3ox6XwU725u0zTzneM+Hu3lTel1N5VS9U80ijenKUELn9Puh7Jtx+J73kO+nt+YqSs0eLJI+4VctJxt0fkssb3IU5fS+c70U/ea7m9rFS23sm3F4TI3+us+Nvr+G/eCeH46eyR5g/fydPLpfX1tHQKkd7XYZUzYxqr8u4dn528m7Y0Wq+n/L83bC7z3MUq++ZcHdd2ZFny1bqaxpq1fBNWO3+qoSWr6Ha8zN2e4OVaW+wMu19V2YdSLDHFYynr8Jvr0yv75lwe2W26vk+jFeuioufgn7/7vlpxrWfBf3u/fPThKs/C/r9O+j/8Dqu/Szob3A9TN9gbfQ3uIbUb19D6revIfU3uIbU3+AaUn+Da0j9Da4hHbfbdrxB2477bfO7T7X5/afaTiNOvo3vH//04adPX//jv9r618z6+unDj58/7n/85Y8vP/3tT3//39/wJ/ivvv729defPv78x9ePM2n+2fpPv9aXb7+r9bFc6uOq8/ffvFj88+NH8ccXj8c/z99dml84Hl9oOr9Q1t8o8//Rvv9rvsT/Aw==", "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\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\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", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap index 60517931110..0b88a85edad 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_-9223372036854775808.snap @@ -50,9 +50,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32860 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32858), size_address: Relative(3), offset_address: Relative(4) }, Mov { destination: Relative(1), source: Direct(32858) }, Mov { destination: Relative(2), source: Direct(32859) }, Call { location: 13 }, Call { location: 37 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32860 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Field, value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Field, value: 1 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 4 }, Const { destination: Direct(32843), bit_size: Field, value: 4 }, Const { destination: Direct(32844), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32845), bit_size: Field, value: 5 }, Const { destination: Direct(32846), bit_size: Integer(U32), value: 6 }, Const { destination: Direct(32847), bit_size: Field, value: 6 }, Const { destination: Direct(32848), bit_size: Integer(U32), value: 7 }, Const { destination: Direct(32849), bit_size: Field, value: 8 }, Const { destination: Direct(32850), bit_size: Field, value: 10 }, Const { destination: Direct(32851), bit_size: Field, value: 12 }, Const { destination: Direct(32852), bit_size: Field, value: 15 }, Const { destination: Direct(32853), bit_size: Field, value: 20 }, Const { destination: Direct(32854), bit_size: Field, value: 30 }, Const { destination: Direct(32855), bit_size: Field, value: 50 }, Const { destination: Direct(32856), bit_size: Field, value: 60 }, Const { destination: Direct(32857), bit_size: Field, value: 100 }, Return, Call { location: 319 }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, JumpIf { condition: Relative(3), location: 42 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(2), bit_size: Field, value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Const { destination: Relative(4), bit_size: Field, value: 3 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, 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(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32840) }, Mov { destination: Relative(11), source: Relative(3) }, Mov { destination: Relative(12), source: Direct(32841) }, Mov { destination: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(8) }, Call { location: 325 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(10) }, Mov { destination: Relative(7), source: Relative(11) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 95 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32844) }, JumpIf { condition: Relative(5), location: 101 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(32841) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(5), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 107 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(32848) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(5), rhs: Direct(32845) }, JumpIf { condition: Relative(6), location: 113 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Load { destination: Relative(5), 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(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 119 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32840) }, Mov { destination: Relative(12), source: Relative(3) }, Mov { destination: Relative(13), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 381 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(11) }, Mov { destination: Relative(7), source: Relative(12) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(10) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(5) }, Mov { destination: Relative(13), source: Relative(7) }, Mov { destination: Relative(14), source: Direct(32840) }, Mov { destination: Relative(15), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 445 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(9), source: Relative(12) }, JumpIf { condition: Relative(9), location: 160 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32841) }, Mov { destination: Relative(11), source: Relative(3) }, Mov { destination: Relative(12), source: Direct(32836) }, Mov { destination: Relative(13), source: Direct(32847) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 501 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(10) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(2), rhs: Direct(32847) }, JumpIf { condition: Relative(4), location: 192 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 198 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32841) }, Mov { destination: Relative(11), source: Relative(3) }, Mov { destination: Relative(12), source: Direct(32849) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 544 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(10) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Direct(32847) }, JumpIf { condition: Relative(5), location: 213 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Direct(32840) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32841) }, Mov { destination: Relative(11), source: Relative(2) }, Mov { destination: Relative(12), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 592 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(10) }, JumpIf { condition: Relative(5), location: 243 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 249 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32841) }, Mov { destination: Relative(12), source: Relative(2) }, Mov { destination: Relative(13), source: Direct(32851) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 636 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(11) }, JumpIf { condition: Relative(5), location: 263 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, Mov { destination: Relative(11), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 681 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 874 }, Mov { destination: Direct(0), source: Relative(0) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 282 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 951 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, Mov { destination: Relative(11), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 963 }, Mov { destination: Direct(0), source: Relative(0) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 303 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32841) }, Mov { destination: Relative(12), source: Relative(3) }, Mov { destination: Relative(13), source: Direct(32841) }, Mov { destination: Relative(14), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 445 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(11) }, JumpIf { condition: Relative(1), location: 318 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 324 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 319 }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 338 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 342 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 350 }, Jump { location: 345 }, Load { destination: Relative(2), source_pointer: Relative(6) }, Load { destination: Relative(3), source_pointer: Relative(1) }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Return, JumpIf { condition: Relative(2), location: 352 }, Call { location: 1063 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Load { destination: Relative(2), source_pointer: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 364 }, Call { location: 378 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(2) }, Store { destination_pointer: Relative(6), source: Relative(9) }, Store { destination_pointer: Relative(1), source: Relative(11) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(2) }, Jump { location: 342 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 319 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, 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(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Direct(32835) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 406 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Mov { destination: Relative(4), source: Direct(32835) }, Jump { location: 410 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 416 }, Jump { location: 413 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Load { destination: Relative(2), source_pointer: Relative(7) }, Return, JumpIf { condition: Relative(3), location: 418 }, Call { location: 1063 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 430 }, Call { location: 378 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(3), rhs: Direct(32839) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(9) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Relative(11) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(3) }, Jump { location: 410 }, Call { location: 319 }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 452 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 460 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 472 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 476 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 481 }, Jump { location: 479 }, Load { destination: Relative(1), source_pointer: Relative(9) }, Return, Load { destination: Relative(7), source_pointer: Relative(9) }, JumpIf { condition: Relative(6), location: 484 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 491 }, Call { location: 1063 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, Load { destination: Relative(8), source_pointer: Relative(11) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(7), rhs: Relative(10) }, Store { destination_pointer: Relative(9), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(6) }, Jump { location: 476 }, Call { location: 319 }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 511 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32847) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 516 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 521 }, Jump { location: 519 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, JumpIf { condition: Relative(7), location: 523 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(6) }, JumpIf { condition: Relative(3), location: 537 }, Jump { location: 530 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(4), rhs: Direct(32849) }, JumpIf { condition: Relative(10), location: 534 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 540 }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 540 }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 516 }, Call { location: 319 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 548 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 559 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32847) }, Mov { destination: Relative(4), source: Direct(32838) }, Jump { location: 564 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 569 }, Jump { location: 567 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, Load { destination: Relative(9), source_pointer: Relative(6) }, JumpIf { condition: Relative(7), location: 572 }, Call { location: 1063 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(7), source_pointer: Relative(11) }, JumpIf { condition: Relative(5), location: 585 }, Jump { location: 578 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32849) }, JumpIf { condition: Relative(10), location: 582 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 588 }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 588 }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 564 }, Call { location: 319 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32837) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 602 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32835) }, Jump { location: 607 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 612 }, Jump { location: 610 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, JumpIf { condition: Relative(7), location: 614 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 628 }, Jump { location: 621 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 625 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32844), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 631 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 631 }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 607 }, Call { location: 319 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, Store { destination_pointer: Relative(5), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 647 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32835) }, Jump { location: 652 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 657 }, Jump { location: 655 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, JumpIf { condition: Relative(7), location: 659 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 673 }, Jump { location: 666 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 670 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32844), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 676 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 676 }, BinaryIntOp { destination: Relative(7), op: Or, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 652 }, Call { location: 319 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1122 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32841) }, JumpIf { condition: Relative(5), location: 695 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32844) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, JumpIf { condition: Relative(4), location: 701 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1186 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 714 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32846) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(3), rhs: Direct(32845) }, JumpIf { condition: Relative(4), location: 720 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1291 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32848) }, JumpIf { condition: Relative(5), location: 733 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(3), bit_size: Integer(U32), value: 9 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(5), rhs: Direct(32843) }, JumpIf { condition: Relative(4), location: 740 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 7 }, Mov { destination: Relative(7), source: Direct(0) }, Mov { destination: Relative(8), source: Relative(1) }, Mov { destination: Relative(9), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1386 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(5), source: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Direct(32846) }, JumpIf { condition: Relative(6), location: 753 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32846) }, Load { destination: Relative(4), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(4), rhs: Direct(32845) }, JumpIf { condition: Relative(6), location: 759 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32848) }, Load { destination: Relative(4), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(4), rhs: Direct(32852) }, JumpIf { condition: Relative(6), location: 765 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 8 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Load { destination: Relative(6), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Direct(32854) }, JumpIf { condition: Relative(5), location: 772 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 1547 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 785 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32846) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32845) }, JumpIf { condition: Relative(7), location: 791 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32848) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32854) }, JumpIf { condition: Relative(7), location: 797 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32852) }, JumpIf { condition: Relative(7), location: 803 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32855) }, JumpIf { condition: Relative(7), location: 809 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(7), rhs: Direct(32856) }, JumpIf { condition: Relative(5), location: 816 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1750 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 1933 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Direct(32848) }, JumpIf { condition: Relative(7), location: 836 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32855) }, JumpIf { condition: Relative(7), location: 842 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32844) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32836) }, JumpIf { condition: Relative(7), location: 848 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(5), rhs: Direct(32854) }, JumpIf { condition: Relative(4), location: 854 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32857) }, JumpIf { condition: Relative(3), location: 860 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 2146 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32844) }, JumpIf { condition: Relative(1), location: 873 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 1122 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(6) }, Mov { destination: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 887 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32841) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(4), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 893 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 896 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32836) }, JumpIf { condition: Relative(3), location: 902 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32840) }, JumpIf { condition: Relative(3), location: 906 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 1186 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(6) }, Mov { destination: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Direct(32840), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 918 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32844) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32845) }, JumpIf { condition: Relative(3), location: 924 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(3), location: 928 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 1291 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(6) }, Mov { destination: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Direct(32840), rhs: Relative(2) }, JumpIf { condition: Relative(1), location: 940 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32844) }, Load { destination: Relative(1), source_pointer: Relative(4) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(1), rhs: Direct(32845) }, JumpIf { condition: Relative(3), location: 946 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(1), location: 950 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Call { location: 319 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 256 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32 }, BlackBox(ToRadix { input: Relative(1), radix: Relative(2), output_pointer: Relative(5), num_limbs: Relative(6), output_bits: Relative(4) }), Jump { location: 962 }, Return, Call { location: 319 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1122 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Direct(32836) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(4) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32845) }, JumpIf { condition: Relative(6), location: 1015 }, Jump { location: 989 }, Load { destination: Relative(3), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 995 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1003 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(7) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32850) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Jump { location: 1026 }, Load { destination: Relative(3), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1021 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1026 }, Load { destination: Relative(1), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Direct(32844) }, JumpIf { condition: Relative(2), location: 1031 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(1), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32841) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(3), location: 1038 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(3), location: 1044 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32844) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, JumpIf { condition: Relative(3), location: 1050 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32846) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32845) }, JumpIf { condition: Relative(3), location: 1056 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32848) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(1), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, JumpIf { condition: Relative(1), location: 1062 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32775), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: LessThanEquals, bit_size: U32, lhs: Direct(32779), rhs: Direct(32777) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32775), rhs: Direct(2) }, JumpIf { condition: Direct(32780), location: 1077 }, Jump { location: 1094 }, JumpIf { condition: Direct(32781), location: 1079 }, Jump { location: 1083 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, Jump { location: 1093 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32783) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32782) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32777) }, Jump { location: 1093 }, Jump { location: 1106 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32782), op: Mul, bit_size: U32, lhs: Direct(32779), rhs: Direct(32783) }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(32784) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32779) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32782) }, Jump { location: 1106 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, JumpIf { condition: Direct(32781), location: 1120 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32776) }, Mov { destination: Direct(32784), source: Direct(32778) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1120 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1113 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32776) }, Return, Call { location: 319 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, 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: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1180 }, Jump { location: 1142 }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(8), location: 1166 }, Jump { location: 1145 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(32841) }, Mov { destination: Relative(7), source: Relative(1) }, Jump { location: 1177 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1172 }, Call { location: 378 }, 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(6), source: Direct(32840) }, Mov { destination: Relative(7), source: Relative(5) }, Jump { location: 1177 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 1183 }, Mov { destination: Relative(3), source: Direct(32840) }, Mov { destination: Relative(4), source: Relative(5) }, Jump { location: 1183 }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(4) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1251 }, Jump { location: 1212 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1218 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1246 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1288 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1257 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1283 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1288 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1346 }, Jump { location: 1317 }, Mov { destination: Relative(1), source: Direct(32835) }, Jump { location: 1319 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32844) }, JumpIf { condition: Relative(2), location: 1323 }, Jump { location: 1322 }, Jump { location: 1383 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1331 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Field }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(9), source: Direct(32773) }, Mov { destination: Relative(10), source: Direct(32774) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(2) }, Jump { location: 1319 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1352 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1378 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1383 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1451 }, Jump { location: 1412 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1418 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1446 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1488 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1457 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1483 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1488 }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 1491 }, Jump { location: 1511 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1499 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32853) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1511 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1519 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32852) }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1534 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(7) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(8) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1612 }, Jump { location: 1573 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1579 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1607 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1649 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1618 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1644 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1649 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1657 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 1671 }, Jump { location: 1689 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1677 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32853) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1689 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1697 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32852) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, JumpIf { condition: Relative(2), location: 1728 }, Jump { location: 1710 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(3), source: Relative(3), bit_size: U1 }, JumpIf { condition: Relative(3), location: 1716 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(3), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1728 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1736 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32856) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(7) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1815 }, Jump { location: 1776 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1782 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1810 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1852 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1821 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1847 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1852 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1860 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 1874 }, Jump { location: 1892 }, Load { destination: Relative(2), source_pointer: Relative(8) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1880 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32853) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1892 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2346 }, Mov { destination: Relative(5), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1907 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(2), location: 1913 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(6), rhs: Direct(32854) }, JumpIf { condition: Relative(2), location: 1917 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(2), op: Sub, bit_size: U32, lhs: Direct(32842), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(5) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2346 }, Mov { destination: Relative(4), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Load { destination: Relative(6), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(5), location: 1928 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(6), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 1932 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1998 }, Jump { location: 1959 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1965 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1993 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 2035 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2004 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2030 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 2035 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2043 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 2057 }, Jump { location: 2090 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(3), source: Relative(3), bit_size: U1 }, JumpIf { condition: Relative(3), location: 2063 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(3), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2078 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32852) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Jump { location: 2090 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2098 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: LessThanEquals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 2104 }, Call { location: 2383 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 2107 }, Call { location: 1063 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U32, lhs: Relative(8), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(8) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 2386 }, Mov { destination: Relative(7), source: Direct(32774) }, Mov { destination: Relative(9), source: Direct(32775) }, Store { destination_pointer: Relative(9), source: Direct(32855) }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2123 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 2129 }, Call { location: 2383 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Direct(32846), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 2132 }, Call { location: 1063 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U32, lhs: Relative(9), rhs: Direct(32846) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(7) }, Mov { destination: Direct(32772), source: Relative(9) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 2386 }, Mov { destination: Relative(8), source: Direct(32774) }, Mov { destination: Relative(10), source: Direct(32775) }, Store { destination_pointer: Relative(10), source: Direct(32857) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(8) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 2211 }, Jump { location: 2172 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2178 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 2206 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 2248 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2217 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 2243 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 2248 }, Load { destination: Relative(3), source_pointer: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Direct(32840), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 2253 }, Call { location: 1063 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U32, lhs: Relative(7), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Mov { destination: Direct(32771), source: Relative(4) }, Mov { destination: Direct(32772), source: Relative(7) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 2455 }, Mov { destination: Relative(6), source: Direct(32774) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2271 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 2283 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 2286 }, Jump { location: 2304 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2292 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32853) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Jump { location: 2304 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2312 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(4) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32852) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(8) }, JumpIf { condition: Relative(2), location: 2343 }, Jump { location: 2325 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 2331 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(4), source: Direct(32773) }, Mov { destination: Relative(6), source: Direct(32774) }, Store { destination_pointer: Relative(6), source: Direct(32855) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Jump { location: 2343 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Load { destination: Relative(2), source_pointer: Relative(7) }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 2355 }, Jump { location: 2359 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 2381 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 2380 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 2373 }, Jump { location: 2381 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32776), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Load { destination: Direct(32778), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32781), op: LessThanEquals, bit_size: U32, lhs: Direct(32780), rhs: Direct(32778) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, JumpIf { condition: Direct(32781), location: 2397 }, Jump { location: 2414 }, JumpIf { condition: Direct(32782), location: 2399 }, Jump { location: 2403 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, Jump { location: 2413 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32784) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32778) }, Jump { location: 2413 }, Jump { location: 2426 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32783), op: Mul, bit_size: U32, lhs: Direct(32780), rhs: Direct(32784) }, Const { destination: Direct(32785), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32785) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32784) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32783) }, Jump { location: 2426 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32782) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32774) }, JumpIf { condition: Direct(32782), location: 2440 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32785), source: Direct(32779) }, Mov { destination: Direct(32786), source: Direct(32781) }, BinaryIntOp { destination: Direct(32787), op: Equals, bit_size: U32, lhs: Direct(32785), rhs: Direct(32784) }, JumpIf { condition: Direct(32787), location: 2440 }, Load { destination: Direct(32783), source_pointer: Direct(32785) }, Store { destination_pointer: Direct(32786), source: Direct(32783) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, Jump { location: 2433 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Sub, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32786), op: Sub, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32788), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32786), op: LessThan, bit_size: U32, lhs: Direct(32788), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 2454 }, Load { destination: Direct(32789), source_pointer: Direct(32788) }, Store { destination_pointer: Direct(32787), source: Direct(32789) }, BinaryIntOp { destination: Direct(32788), op: Sub, bit_size: U32, lhs: Direct(32788), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Sub, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 2447 }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 2464 }, Jump { location: 2470 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, Jump { location: 2492 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32782) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32781) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 2491 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 2484 }, Jump { location: 2492 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32783), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32783) }, Mov { destination: Direct(32786), source: Direct(32781) }, Mov { destination: Direct(32787), source: Direct(32782) }, BinaryIntOp { destination: Direct(32788), op: Equals, bit_size: U32, lhs: Direct(32786), rhs: Direct(32785) }, JumpIf { condition: Direct(32788), location: 2507 }, Load { destination: Direct(32784), source_pointer: Direct(32786) }, Store { destination_pointer: Direct(32787), source: Direct(32784) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 2500 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32860 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32858), size_address: Relative(3), offset_address: Relative(4) }, Mov { destination: Relative(1), source: Direct(32858) }, Mov { destination: Relative(2), source: Direct(32859) }, Call { location: 13 }, Call { location: 37 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32860 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Field, value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Field, value: 1 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 4 }, Const { destination: Direct(32843), bit_size: Field, value: 4 }, Const { destination: Direct(32844), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32845), bit_size: Field, value: 5 }, Const { destination: Direct(32846), bit_size: Integer(U32), value: 6 }, Const { destination: Direct(32847), bit_size: Field, value: 6 }, Const { destination: Direct(32848), bit_size: Integer(U32), value: 7 }, Const { destination: Direct(32849), bit_size: Field, value: 8 }, Const { destination: Direct(32850), bit_size: Field, value: 10 }, Const { destination: Direct(32851), bit_size: Field, value: 12 }, Const { destination: Direct(32852), bit_size: Field, value: 15 }, Const { destination: Direct(32853), bit_size: Field, value: 20 }, Const { destination: Direct(32854), bit_size: Field, value: 30 }, Const { destination: Direct(32855), bit_size: Field, value: 50 }, Const { destination: Direct(32856), bit_size: Field, value: 60 }, Const { destination: Direct(32857), bit_size: Field, value: 100 }, Return, Call { location: 319 }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, JumpIf { condition: Relative(3), location: 42 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(2), bit_size: Field, value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32839) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Const { destination: Relative(4), bit_size: Field, value: 3 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, 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(4) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32843) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32845) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32840) }, Mov { destination: Relative(11), source: Relative(3) }, Mov { destination: Relative(12), source: Direct(32841) }, Mov { destination: Relative(13), source: Relative(5) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(8) }, Call { location: 325 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(6), source: Relative(10) }, Mov { destination: Relative(7), source: Relative(11) }, Load { destination: Relative(5), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 95 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Direct(32844) }, JumpIf { condition: Relative(5), location: 101 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(32841) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(5), rhs: Direct(32839) }, JumpIf { condition: Relative(6), location: 107 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(32848) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(5), rhs: Direct(32845) }, JumpIf { condition: Relative(6), location: 113 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Load { destination: Relative(5), 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(5) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 119 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32840) }, Mov { destination: Relative(12), source: Relative(3) }, Mov { destination: Relative(13), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 381 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(11) }, Mov { destination: Relative(7), source: Relative(12) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(10) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(4) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(5) }, Mov { destination: Relative(13), source: Relative(7) }, Mov { destination: Relative(14), source: Direct(32840) }, Mov { destination: Relative(15), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 445 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(9), source: Relative(12) }, JumpIf { condition: Relative(9), location: 160 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Direct(32839) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32841) }, Mov { destination: Relative(11), source: Relative(3) }, Mov { destination: Relative(12), source: Direct(32836) }, Mov { destination: Relative(13), source: Direct(32847) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 501 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(10) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(2), rhs: Direct(32847) }, JumpIf { condition: Relative(4), location: 192 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(2) }, Not { destination: Relative(5), source: Relative(5), bit_size: U1 }, JumpIf { condition: Relative(5), location: 198 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32841) }, Mov { destination: Relative(11), source: Relative(3) }, Mov { destination: Relative(12), source: Direct(32849) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 544 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(10) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Direct(32847) }, JumpIf { condition: Relative(5), location: 213 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Direct(32840) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32842) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32846) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Direct(32841) }, Mov { destination: Relative(11), source: Relative(2) }, Mov { destination: Relative(12), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 592 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(10) }, JumpIf { condition: Relative(5), location: 243 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 249 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32841) }, Mov { destination: Relative(12), source: Relative(2) }, Mov { destination: Relative(13), source: Direct(32851) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 636 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(11) }, JumpIf { condition: Relative(5), location: 263 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, Mov { destination: Relative(11), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 681 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 874 }, Mov { destination: Direct(0), source: Relative(0) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 282 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 951 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 9 }, Mov { destination: Relative(9), source: Direct(0) }, Mov { destination: Relative(10), source: Relative(1) }, Mov { destination: Relative(11), source: Direct(32850) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(2) }, Call { location: 963 }, Mov { destination: Direct(0), source: Relative(0) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 303 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32841) }, Mov { destination: Relative(12), source: Relative(3) }, Mov { destination: Relative(13), source: Direct(32841) }, Mov { destination: Relative(14), source: Relative(3) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 445 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(11) }, JumpIf { condition: Relative(1), location: 318 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 324 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 17843811134343075018 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 319 }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(1) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Load { destination: Relative(2), source_pointer: Relative(4) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 338 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 342 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 350 }, Jump { location: 345 }, Load { destination: Relative(2), source_pointer: Relative(6) }, Load { destination: Relative(3), source_pointer: Relative(1) }, Mov { destination: Relative(1), source: Relative(2) }, Mov { destination: Relative(2), source: Relative(3) }, Return, JumpIf { condition: Relative(2), location: 352 }, Call { location: 1063 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Load { destination: Relative(2), source_pointer: Relative(8) }, Load { destination: Relative(7), source_pointer: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(1) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 364 }, Call { location: 378 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(2) }, Store { destination_pointer: Relative(6), source: Relative(9) }, Store { destination_pointer: Relative(1), source: Relative(11) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(2) }, Jump { location: 342 }, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 12049594436772143978 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Call { location: 319 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, 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(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Direct(32835) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 406 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Mov { destination: Relative(4), source: Direct(32835) }, Jump { location: 410 }, BinaryIntOp { destination: Relative(3), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(3), location: 416 }, Jump { location: 413 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Load { destination: Relative(2), source_pointer: Relative(7) }, Return, JumpIf { condition: Relative(3), location: 418 }, Call { location: 1063 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(7) }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(9) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 430 }, Call { location: 378 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryFieldOp { destination: Relative(9), op: Add, lhs: Relative(3), rhs: Direct(32839) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(9) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Relative(11) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(3) }, Jump { location: 410 }, Call { location: 319 }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 452 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 460 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 472 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 476 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 481 }, Jump { location: 479 }, Load { destination: Relative(1), source_pointer: Relative(9) }, Return, Load { destination: Relative(7), source_pointer: Relative(9) }, JumpIf { condition: Relative(6), location: 484 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 491 }, Call { location: 1063 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, Load { destination: Relative(8), source_pointer: Relative(11) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(7), rhs: Relative(10) }, Store { destination_pointer: Relative(9), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(6) }, Jump { location: 476 }, Call { location: 319 }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 511 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32847) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 516 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 521 }, Jump { location: 519 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, JumpIf { condition: Relative(7), location: 523 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(6) }, JumpIf { condition: Relative(3), location: 537 }, Jump { location: 530 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(4), rhs: Direct(32849) }, JumpIf { condition: Relative(10), location: 534 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 540 }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 540 }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(7) }, Jump { location: 516 }, Call { location: 319 }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(1) }, JumpIf { condition: Relative(5), location: 548 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, Load { destination: Relative(5), source_pointer: Relative(6) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(5) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 559 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32847) }, Mov { destination: Relative(4), source: Direct(32838) }, Jump { location: 564 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 569 }, Jump { location: 567 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Return, Load { destination: Relative(9), source_pointer: Relative(6) }, JumpIf { condition: Relative(7), location: 572 }, Call { location: 1063 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(4) }, Load { destination: Relative(7), source_pointer: Relative(11) }, JumpIf { condition: Relative(5), location: 585 }, Jump { location: 578 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32849) }, JumpIf { condition: Relative(10), location: 582 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 588 }, BinaryFieldOp { destination: Relative(10), op: Add, lhs: Relative(9), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 588 }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 564 }, Call { location: 319 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32837) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 602 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32835) }, Jump { location: 607 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 612 }, Jump { location: 610 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, JumpIf { condition: Relative(7), location: 614 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 628 }, Jump { location: 621 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 625 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32844), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 631 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 631 }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 607 }, Call { location: 319 }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Const { destination: Relative(6), bit_size: Integer(U1), value: 0 }, Store { destination_pointer: Relative(5), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 647 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, Mov { destination: Relative(4), source: Direct(32835) }, Jump { location: 652 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, JumpIf { condition: Relative(7), location: 657 }, Jump { location: 655 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Return, JumpIf { condition: Relative(7), location: 659 }, Call { location: 1063 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(4) }, Load { destination: Relative(7), source_pointer: Relative(10) }, Load { destination: Relative(9), source_pointer: Relative(5) }, JumpIf { condition: Relative(6), location: 673 }, Jump { location: 666 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(3), rhs: Direct(32851) }, JumpIf { condition: Relative(10), location: 670 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32844), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 676 }, BinaryIntOp { destination: Relative(10), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(7) }, Mov { destination: Relative(8), source: Relative(10) }, Jump { location: 676 }, BinaryIntOp { destination: Relative(7), op: Or, bit_size: U1, lhs: Relative(9), rhs: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(7) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32838) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 652 }, Call { location: 319 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1122 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32841) }, JumpIf { condition: Relative(5), location: 695 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32844) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(3), rhs: Direct(32850) }, JumpIf { condition: Relative(4), location: 701 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1178 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 714 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(32846) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(3), rhs: Direct(32845) }, JumpIf { condition: Relative(4), location: 720 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1283 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32848) }, JumpIf { condition: Relative(5), location: 733 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(3), bit_size: Integer(U32), value: 9 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Load { destination: Relative(5), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(5), rhs: Direct(32843) }, JumpIf { condition: Relative(4), location: 740 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 7 }, Mov { destination: Relative(7), source: Direct(0) }, Mov { destination: Relative(8), source: Relative(1) }, Mov { destination: Relative(9), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1378 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(5), source: Relative(9) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Direct(32846) }, JumpIf { condition: Relative(6), location: 753 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32846) }, Load { destination: Relative(4), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(4), rhs: Direct(32845) }, JumpIf { condition: Relative(6), location: 759 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32848) }, Load { destination: Relative(4), source_pointer: Relative(6) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(4), rhs: Direct(32852) }, JumpIf { condition: Relative(6), location: 765 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 8 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, Load { destination: Relative(6), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Direct(32854) }, JumpIf { condition: Relative(5), location: 772 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 1539 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(4) }, JumpIf { condition: Relative(7), location: 785 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32846) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32845) }, JumpIf { condition: Relative(7), location: 791 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32848) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32854) }, JumpIf { condition: Relative(7), location: 797 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32852) }, JumpIf { condition: Relative(7), location: 803 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32855) }, JumpIf { condition: Relative(7), location: 809 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Load { destination: Relative(7), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(7), rhs: Direct(32856) }, JumpIf { condition: Relative(5), location: 816 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1742 }, Mov { destination: Direct(0), source: Relative(0) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Relative(1) }, Mov { destination: Relative(10), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(7) }, Call { location: 1925 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(9) }, Mov { destination: Relative(6), source: Relative(10) }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Direct(32848) }, JumpIf { condition: Relative(7), location: 836 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32842) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32855) }, JumpIf { condition: Relative(7), location: 842 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(32844) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(7), op: Equals, lhs: Relative(5), rhs: Direct(32836) }, JumpIf { condition: Relative(7), location: 848 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(4) }, Load { destination: Relative(5), source_pointer: Relative(7) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(5), rhs: Direct(32854) }, JumpIf { condition: Relative(4), location: 854 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32857) }, JumpIf { condition: Relative(3), location: 860 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 2138 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32844) }, JumpIf { condition: Relative(1), location: 873 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 1122 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(6) }, Mov { destination: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 887 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32841) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(4), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 893 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 896 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32836) }, JumpIf { condition: Relative(3), location: 902 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32840) }, JumpIf { condition: Relative(3), location: 906 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 1178 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(6) }, Mov { destination: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(4), op: LessThan, bit_size: U32, lhs: Direct(32840), rhs: Relative(2) }, JumpIf { condition: Relative(4), location: 918 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32844) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(4), rhs: Direct(32845) }, JumpIf { condition: Relative(3), location: 924 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(3), location: 928 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, Const { destination: Relative(4), bit_size: Integer(U32), value: 5 }, Mov { destination: Relative(5), source: Direct(0) }, Mov { destination: Relative(6), source: Relative(1) }, Mov { destination: Relative(7), source: Direct(32845) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(4) }, Call { location: 1283 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(6) }, Mov { destination: Relative(3), source: Relative(7) }, BinaryIntOp { destination: Relative(1), op: LessThan, bit_size: U32, lhs: Direct(32840), rhs: Relative(2) }, JumpIf { condition: Relative(1), location: 940 }, Call { location: 1063 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32844) }, Load { destination: Relative(1), source_pointer: Relative(4) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(1), rhs: Direct(32845) }, JumpIf { condition: Relative(3), location: 946 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(1), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(1), location: 950 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Call { location: 319 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 256 }, Const { destination: Relative(4), bit_size: Integer(U1), value: 0 }, Mov { destination: Relative(3), source: Direct(1) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 32 }, BlackBox(ToRadix { input: Relative(1), radix: Relative(2), output_pointer: Relative(5), num_limbs: Relative(6), output_bits: Relative(4) }), Jump { location: 962 }, Return, Call { location: 319 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 6 }, Mov { destination: Relative(6), source: Direct(0) }, Mov { destination: Relative(7), source: Relative(1) }, Mov { destination: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(5) }, Call { location: 1122 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(7) }, Mov { destination: Relative(4), source: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Direct(32836) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(4) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32845) }, JumpIf { condition: Relative(6), location: 1015 }, Jump { location: 989 }, Load { destination: Relative(3), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 995 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1003 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(7) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32850) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Jump { location: 1026 }, Load { destination: Relative(3), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1021 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1026 }, Load { destination: Relative(1), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Direct(32844) }, JumpIf { condition: Relative(2), location: 1031 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(1), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32841) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(3), location: 1038 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32836) }, JumpIf { condition: Relative(3), location: 1044 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32844) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, JumpIf { condition: Relative(3), location: 1050 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32846) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Direct(32845) }, JumpIf { condition: Relative(3), location: 1056 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32848) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(1), op: Equals, lhs: Relative(2), rhs: Direct(32850) }, JumpIf { condition: Relative(1), location: 1062 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32775), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: LessThanEquals, bit_size: U32, lhs: Direct(32779), rhs: Direct(32777) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32775), rhs: Direct(2) }, JumpIf { condition: Direct(32780), location: 1077 }, Jump { location: 1094 }, JumpIf { condition: Direct(32781), location: 1079 }, Jump { location: 1083 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, Jump { location: 1093 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32783) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32782) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32777) }, Jump { location: 1093 }, Jump { location: 1106 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32782), op: Mul, bit_size: U32, lhs: Direct(32779), rhs: Direct(32783) }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(32784) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32779) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32782) }, Jump { location: 1106 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, JumpIf { condition: Direct(32781), location: 1120 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32776) }, Mov { destination: Direct(32784), source: Direct(32778) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1120 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1113 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32776) }, Return, Call { location: 319 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, 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: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1172 }, Jump { location: 1142 }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(8), location: 1166 }, Jump { location: 1145 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(32841) }, Mov { destination: Relative(7), source: Relative(1) }, Jump { location: 1169 }, Mov { destination: Relative(6), source: Direct(32840) }, Mov { destination: Relative(7), source: Relative(5) }, Jump { location: 1169 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 1175 }, Mov { destination: Relative(3), source: Direct(32840) }, Mov { destination: Relative(4), source: Relative(5) }, Jump { location: 1175 }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(4) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1243 }, Jump { location: 1204 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1210 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1238 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1280 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1249 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1275 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1280 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1338 }, Jump { location: 1309 }, Mov { destination: Relative(1), source: Direct(32835) }, Jump { location: 1311 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32844) }, JumpIf { condition: Relative(2), location: 1315 }, Jump { location: 1314 }, Jump { location: 1375 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1323 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Field }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(9), source: Direct(32773) }, Mov { destination: Relative(10), source: Direct(32774) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(2) }, Jump { location: 1311 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1344 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1370 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1375 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1443 }, Jump { location: 1404 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1410 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1438 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1480 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1449 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1475 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1480 }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 1483 }, Jump { location: 1503 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1491 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32853) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1503 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1511 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32852) }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1526 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(7) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(8) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1604 }, Jump { location: 1565 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1571 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1599 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1641 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1610 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1636 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1641 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1649 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 1663 }, Jump { location: 1681 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1669 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32853) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1681 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1689 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32852) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, JumpIf { condition: Relative(2), location: 1720 }, Jump { location: 1702 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(3), source: Relative(3), bit_size: U1 }, JumpIf { condition: Relative(3), location: 1708 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(3), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Store { destination_pointer: Relative(7), source: Direct(32855) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1720 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1728 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(8), source: Direct(32774) }, Store { destination_pointer: Relative(8), source: Direct(32856) }, Store { destination_pointer: Relative(4), source: Relative(3) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(7) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1807 }, Jump { location: 1768 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1774 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1802 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1844 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1813 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1839 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1844 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1852 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 1866 }, Jump { location: 1884 }, Load { destination: Relative(2), source_pointer: Relative(8) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1872 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(7), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32853) }, Store { destination_pointer: Relative(4), source: Relative(2) }, Store { destination_pointer: Relative(5), source: Relative(7) }, Jump { location: 1884 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(4), op: Sub, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2338 }, Mov { destination: Relative(5), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Load { destination: Relative(6), source_pointer: Relative(7) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1899 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Direct(32842) }, JumpIf { condition: Relative(2), location: 1905 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(6), rhs: Direct(32854) }, JumpIf { condition: Relative(2), location: 1909 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(4) } }, BinaryIntOp { destination: Relative(2), op: Sub, bit_size: U32, lhs: Direct(32842), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(5) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 2338 }, Mov { destination: Relative(4), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Load { destination: Relative(6), source_pointer: Relative(7) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(5), location: 1920 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(7) } }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(6), rhs: Relative(1) }, JumpIf { condition: Relative(2), location: 1924 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1990 }, Jump { location: 1951 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1957 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(2), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(2) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1985 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 2027 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1996 }, Call { location: 378 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(3) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2022 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 2027 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2035 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32854) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 2049 }, Jump { location: 2082 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(3), source: Relative(3), bit_size: U1 }, JumpIf { condition: Relative(3), location: 2055 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(3), source: Direct(32773) }, Mov { destination: Relative(7), source: Direct(32774) }, Store { destination_pointer: Relative(7), source: Direct(32853) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2070 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32852) }, Store { destination_pointer: Relative(4), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Jump { location: 2082 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Load { destination: Relative(3), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2090 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(7), op: LessThanEquals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 2096 }, Call { location: 2375 }, BinaryIntOp { destination: Relative(7), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(3) }, JumpIf { condition: Relative(7), location: 2099 }, Call { location: 1063 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Mul, bit_size: U32, lhs: Relative(8), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(2) }, Mov { destination: Direct(32772), source: Relative(8) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 2378 }, Mov { destination: Relative(7), source: Direct(32774) }, Mov { destination: Relative(9), source: Direct(32775) }, Store { destination_pointer: Relative(9), source: Direct(32855) }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2115 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(8), op: LessThanEquals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 2121 }, Call { location: 2375 }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Direct(32846), rhs: Relative(1) }, JumpIf { condition: Relative(8), location: 2124 }, Call { location: 1063 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(9), op: Mul, bit_size: U32, lhs: Relative(9), rhs: Direct(32846) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(7) }, Mov { destination: Direct(32772), source: Relative(9) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 2378 }, Mov { destination: Relative(8), source: Direct(32774) }, Mov { destination: Relative(10), source: Direct(32775) }, Store { destination_pointer: Relative(10), source: Direct(32857) }, Store { destination_pointer: Relative(4), source: Relative(1) }, Store { destination_pointer: Relative(5), source: Relative(8) }, Mov { destination: Relative(2), source: Relative(8) }, Return, Call { location: 319 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 2203 }, Jump { location: 2164 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2170 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 2198 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Direct(32842) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 2240 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2209 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 2235 }, Call { location: 378 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 2240 }, Load { destination: Relative(3), source_pointer: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(5), op: LessThan, bit_size: U32, lhs: Direct(32840), rhs: Relative(3) }, JumpIf { condition: Relative(5), location: 2245 }, Call { location: 1063 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Mul, bit_size: U32, lhs: Relative(7), rhs: Direct(32840) }, BinaryIntOp { destination: Relative(5), op: Sub, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(10) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(7) }, Load { destination: Relative(8), source_pointer: Relative(9) }, Mov { destination: Direct(32771), source: Relative(4) }, Mov { destination: Direct(32772), source: Relative(7) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 2447 }, Mov { destination: Relative(6), source: Direct(32774) }, Load { destination: Relative(3), source_pointer: Relative(6) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 2263 }, Call { location: 378 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(3) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Mov { destination: Relative(7), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(6) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(8), rhs: Relative(2) }, JumpIf { condition: Relative(10), location: 2275 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Direct(32853) }, JumpIf { condition: Relative(2), location: 2278 }, Jump { location: 2296 }, Load { destination: Relative(1), source_pointer: Relative(6) }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(4), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2284 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32853) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(7), source: Relative(8) }, Jump { location: 2296 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Load { destination: Relative(4), source_pointer: Relative(7) }, Load { destination: Relative(5), source_pointer: Relative(4) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 2304 }, Call { location: 378 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(4) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(8), source: Direct(32773) }, Mov { destination: Relative(9), source: Direct(32774) }, Store { destination_pointer: Relative(9), source: Direct(32852) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Store { destination_pointer: Relative(7), source: Relative(8) }, JumpIf { condition: Relative(2), location: 2335 }, Jump { location: 2317 }, Load { destination: Relative(1), source_pointer: Relative(8) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(4), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(4), source: Relative(4), bit_size: U1 }, JumpIf { condition: Relative(4), location: 2323 }, Call { location: 378 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(8) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1066 }, Mov { destination: Relative(4), source: Direct(32773) }, Mov { destination: Relative(6), source: Direct(32774) }, Store { destination_pointer: Relative(6), source: Direct(32855) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(7), source: Relative(4) }, Jump { location: 2335 }, Load { destination: Relative(1), source_pointer: Relative(3) }, Load { destination: Relative(2), source_pointer: Relative(7) }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 2347 }, Jump { location: 2351 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 2373 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 2372 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 2365 }, Jump { location: 2373 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32776), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Load { destination: Direct(32778), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32781), op: LessThanEquals, bit_size: U32, lhs: Direct(32780), rhs: Direct(32778) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, JumpIf { condition: Direct(32781), location: 2389 }, Jump { location: 2406 }, JumpIf { condition: Direct(32782), location: 2391 }, Jump { location: 2395 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, Jump { location: 2405 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32784) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32778) }, Jump { location: 2405 }, Jump { location: 2418 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32783), op: Mul, bit_size: U32, lhs: Direct(32780), rhs: Direct(32784) }, Const { destination: Direct(32785), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32785) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32784) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32783) }, Jump { location: 2418 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32782) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32774) }, JumpIf { condition: Direct(32782), location: 2432 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32785), source: Direct(32779) }, Mov { destination: Direct(32786), source: Direct(32781) }, BinaryIntOp { destination: Direct(32787), op: Equals, bit_size: U32, lhs: Direct(32785), rhs: Direct(32784) }, JumpIf { condition: Direct(32787), location: 2432 }, Load { destination: Direct(32783), source_pointer: Direct(32785) }, Store { destination_pointer: Direct(32786), source: Direct(32783) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, Jump { location: 2425 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Sub, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32786), op: Sub, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32788), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32786), op: LessThan, bit_size: U32, lhs: Direct(32788), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 2446 }, Load { destination: Direct(32789), source_pointer: Direct(32788) }, Store { destination_pointer: Direct(32787), source: Direct(32789) }, BinaryIntOp { destination: Direct(32788), op: Sub, bit_size: U32, lhs: Direct(32788), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Sub, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 2439 }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 2456 }, Jump { location: 2462 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, Jump { location: 2484 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32782) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32781) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 2483 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 2476 }, Jump { location: 2484 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32783), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32783) }, Mov { destination: Direct(32786), source: Direct(32781) }, Mov { destination: Direct(32787), source: Direct(32782) }, BinaryIntOp { destination: Direct(32788), op: Equals, bit_size: U32, lhs: Direct(32786), rhs: Direct(32785) }, JumpIf { condition: Direct(32788), location: 2499 }, Load { destination: Direct(32784), source_pointer: Direct(32786) }, Store { destination_pointer: Direct(32787), source: Direct(32784) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 2492 }, Return]" ], - "debug_symbols": "td3djt42kgbge/GxD0TWH5lbGQyCJOMZGDCSwJsssAhy76uqUtXbXqAbCRt7Mno67q9e/ZCUROnr+ePDvz79+Pt/vv/8879/+a8P3/3jjw8/fv385cvn/3z/5Zeffvjt8y8/3//1jw+X/w+tD9+Njx9ox4KvXIxczA/fzXtBueBcSC40F5aLlYsdC7lyMXKRVSSrSFaRrCJZRbKKZBW5q9DHD3rlYuRi5oJywbmQXGguLBcrF1nFsoplFcsqllUsq1hWsaxiWcXuKnwvdizWlYuRi5kLygXnQnKhubBcZJWVVXZW2VllZ5WdVXZW2VllZ5V9V5F7sXKxYzGu61neddSX81nelcyX/CzlWeqzvKstX65nedfb93Jcz3I8y/ks73rjcnBBClqwwirsB/MqeGsajlmgAhekoAUrrMJ+QFfBK0/HLFCBC1LQghVWYT+I9h+oylyVuSpzVeaqzFXZe8MgxyrsB94nEqMwC1TgghS0UJWlKktV9n4y2DEKs0AFLkhBC1ZYhf3AqrJVZavKVpWtKltVtqpsVdn70vAW670p4P0pMQqzQAUuSEELVvDK3va9hwW8jyVGwSt7+/eeluCCFLRghVXYiendbizHKMwCFbggBS1YYRW88t3RpnfAxCjMgo+al4MLUtCCFVZhP/A+mBiFWajKsyrPqjyr8qzKsyrPqkxV2fvgHI5ZoAIXpKAFK6zCfuB9cE7HKMyCVyYHF6SgBSuswn4Q56WAV2bHLFCBC1LQghVWYT/wPjjFMQqz4JW9/XgfTEhBC1ZYhf3A++D01uJ9MDELVOCCFPxc5kcnzmaBVdgPvA8mRmEWqOBnSD8o3gcTWrDCKuwH3gfJj5f3wcQsUIELUtCCV/a96n0wsRPkfTAxCrNABS54ZXFowQqrsB94H0yMwixQgQtVeVTlUZW975A6rLAK+4H3ncQoeJY5qMAFKWjBCquwH3DV8X5By6EPvPHHP3njT9QvS4VKhUqFSoVKhUqFSoVqVdaqrFVZq7JWZa3KWisWl22BVdgP4uItMAqzQAUu1CZHM94OKnBBClqwwirsB9GMA6NQlXdV3lV5V+VdlXdV3lV5P5XZmzFfjlGYBSpwQQpasAej6kQTVQcX6pdH//Iq7AezPj5rNWatxqzVmLUas1ZjVuVZlWdVnlWZqjJVZW/hHDcTtapUqxotPKAFK6zC03eYr8IozIKvGDmssAr7gfeCxCjMAhV8k9khBS1YYRX2A+8FiVHwyuKgAhek4JV95b0XJFZhP/BekBiFWaBC1YkbFvM7svrlVb+86pfjjmU5pKAFK6zCfhB3LwGv7M047mACVODCXVn8FjLuZHx9vDskVkK8zUvcLlKBC/5xcmjBCquwH3gvSIzCLDzHVEbVGU9LkFm/POuXvc0nuFCrMevjs1aDnoYkNAqzUKHewoUd/inxm9/6FNenfKAWdWjBCr6lvqO89Qa89SZGYRZ85ZeDC1LQghVWYT/w1pvwyttRdbxl5n+pX7b6ZW+QCb8FvRxU4IIU1lPHm2jAr0ASFeptVYfDPxVTAvWpVZ/yxqa+67yxJaRwb6n6DvfGlliFnVAfexOjMAtU8MrieOqotzFVR/3yqF/2ITchBS30x5/VUG91UdlbXYIKFeqtTs3hn1o+6TGedG9jCSp4xHaswn7gjS1xf9wuxyxQgQtS0IIVVuGubMOnXaqOtzGbjvplqV/2phXwppWo1dD6uNZq+DAYlb2xJVahQr3VWUzz+Kd8Z/qgF+l+lZtYD7whbd91PugluCAFLVhhFfYDH/QSPjniO9MHvQQVuBDTI749cT+ZigkSX/+4o0ztRxb3lCm/9buma7aoxS1pactaq7VLcXd5xRzYaM0WtSLD57xymicUGeKy1mrtUs71qGu0Zota3JKWtqy1WpFhPmd3tUZrtiJjubglrcjYLmut1i7F/I9PWllMAKVmi1rckpa2rLVaMXnlRzpmglKjNVuR4cctZoNSkREzldqy1mpFhh+3mBNKRYYfo5gVSlGLW5HhezxmhlLWigzfzzE5FIrZodRoRYbv8ZggSnFLWtqy1mrtUswTpSLDj1HMFKWoxa2YlPM9HrNFqZjw870b80WpXYoZo1RM+vkejzmjVEz7+d6NWaOUtLQVGTFjvFqRIT59fLVGa7YiQ13cigxzactaqxUZy+emr9ZoRcZ2UYtb0op5xstlrdXapejnqdGarZjIHC5uSUtb1lqtXYp+nhqtyJguanFLWpFBLmtFRszX71L089RoRYYfj+jnqcjw4xH9PKUta0WGH4+c8HXljK8fhZzyDc0WtSLDj0JO+4ZiDtX3afTz1GrtUs79+h7Kyd/QbFGLW9LSlrVWKzJ8n+YscGi0Zivq+X7Oed+QtVZrl6JPp0ZrtqgV6xwPUaSlrcjwYxR9OhUZfjyiT6dGa7Yiw49R9OmUtCLDj0z06VRk+JGJPu3a0adToxWz2JeLWtySVsxkD5e1VmuXok+nRmu2qMWtyJgubVkrMsi1S9GnJR5IjdZsUSsy/DlU9OmUtqwVGerapejTqdGaLWpxS1raigxzrdYuRZ/2u5EdfToVGX5kok+nuCUtz/C7lB19OrVauxQXvh7m3TfBBSlowQqrsB/ENXHAP+5r6v0yoQUrrMJ+EJfCgVGYBSpUZavKVpWtKltV9t5pviO8cy7fUu+biVmgAhekoIWq4x0wMQqzQAUuSEEL9hT0jpfYifuq+mqN1mxRi1u+niOkLWut1i55v3s0WrNFra48uvLoyqMrj648u/LsyrMre29bM8QtbXllCq3WLnkfezRaXplD1PLK8fzY+9gjbVnLM/K58i55H1v5jHm0ZotanhHPmL2PPfKMHbLWau2Snzd3HDc/bz7ym67YQ97xHnFLWn5LF/vKO98jv6mLveHdL+X979F4FA+lN4e4JS1tWWu1dsmPwqPRmq3OoM6gzqDOoM6gzvCjsP3IxDPprSH/rIW0Za3V2qXYu6nRmi1qcaszpDOkM6QzpDO0M7QztDO0q2hX0a6iXcW6inUV6yrWaxpXAj5pNJ7HwcndzEfCyQFOkEAGBVQQaRtpu9PyMfHDAU6QQAYFVNDABUaaN+58UPyQQAYFVNDABaJuXBT4nNqIR8fFCRLIoIAKGrjA3SSkEdIIaYQ0QhohjZBGSCOkEdIYaYw0RhojjZHGSGOkMdIYaYw0QYQgQhAhiBBECCIEEYKIuAnwOcURT5+LA5wggQwKqKCBC0SaIc2QZkgzpBnSDGmGNEOaIc2QtpC2kLaQtpC2kLaQtpC2ELEQkSOBBAlkUEAFDVzgLlKOBMkBTpBABgVU0MAFIm0gbSBtIG0gLccHDUYFH0gpu3SSQQEVNHCBKJZdOjnACUbaCkbaDgqooIEL3M3s0skBTpBA1GXUZdRl1BXUFdQV1BXUjX7ss9kjHp8XFTRwgbsZ/fjhACdIINIUaYo0RZoiTZFmSDOkGdIMaYY0Q5ohzZBmSDOkLaQtpC1ELETEGd3iBb/osQ93M87oDwc4QQIZFFBBpG2k7U6Lp/XFAU6QQAYFVNDABUZavng4QQIZFFBBAxeIunFGt3gnMc7oDydIIIMCKmjgAneTkEZII6QR0ghphDRCGiGNkEZIY6Qx0hhpjDRGGiONkcZIY6Qx0gQRgghBhCBCECGIEEQIInIk8FMS50iQHOAECWRQQAUNXCDSDGmGNEOaIc2QZkgzpBnSDGmGtIW0hbSFtIW0hbSFtIW0HB/8pMY5EiQnSCCDAipo4Iu6uyg5EiQjTYMTJJBBARU0cIG7ORAxEDEQMRAxEDEQMRAxEDEQkYNCMtIsOEECGRRQQQMXuJs5KCSRRkgjpBHSCGk5KKyggQvczRwUkgOcIIEMRrEd3M24EHg4wAkSyKCAChqINEGaIk2RpkhTpCnSFGmKNEWaIk2RFt0/Zsri9Y0igwIqaOACd3OhbnT0mOKKVzyKBDIooIIGLnA345rgIdI20jbSNtI20jbSNtI20nan6XWBA5wggQwKqKCBC0TaQNpAxEDEQMRAxEDEQMRAxEBEjAQxzRjvqBQnSCCDAipo4AJ3k5BGSCOkEdIIaYQ0QhohjZBGSGOkMdIYaYw0RhojjZHGSGNECCIEEYIIQYQgQhAhiBBECDYoxoeY1o1XaooDnCCBDAqooIGR5idWjQuBhxMkkEEBFTTwRd3YCj+Fao4PyQFOkEAGBVTQQERsRGxEbERsRGxEbERsRGxE5KCQjDQ/hebbPA8HOEECGRRQQWtm97fgACdIIIMCKmhgbMUK7maOBMkBTpBABgVUEBETEYQIQgQhghBBiCBEECKy+ycjbQd3M7t/coATJJBBAbUZvTseSuRLOw8JZFBABQ1c4G5G736INEWaIk2RpkhTpCnSFGmKNEOaIc2QFn0+Hq/kazsPDVzgbkbvfjjACaJu9O54WpPv7zxU0MAF7mZ09IcDnCCBSNtI20jbSNtI252Wr/M8HOAECWRQQAUNXCDSBtIG0gbSBtIGIgYiBiIGIgYiJiImIiYios/Hc7J8t+ehgAoauMDdjO7/cIATRBohjZBGSCOkEdIIaYw0RhojjZHGSGOkMdIYaYw0RpogTRAhiBBECCIEEYIIQYQgQhGh2KAcHzhIIIMCKmjgAnczx4dkpOUXMBkUUEEDF7ibOT4kUTfHh/hGZ44PSQYFVNDABe5mjg9JRGxE5KBgQQEVNHCBu5jvAz0c4AQJZFBABQ1cYKT5qS7fDHo4wAlG2g4yKKCC5l/mvIIL3M38HmlygBMkkJ0jKKCCBkbaDO5mfrc0OcCoS0EBFTRwgbsZ3yx9OMAJEog0RhojjZHGSGOkCdIEaYI0QZogTZAW3zz197BHvDn0ML5r+nCAEySQQQFRN7556q9wj3jNqLib8f3ThwOcIIEMCqgg0gxphrSFtIW0hbSFtIW0hbSFtIW0hbSFtI20jbSNtI20jbSNtI20jYhdETNeVioOcIIEMihgRGjQwAXu5rjAAU6QQAYFRNpA2kDaQNpE2kTaRNpE2kTaRNpE2kTaRNpEGiGNkEZII6QRIggRhAhCBCGCEcGIYEQwIhgblOODBRU0cIG7meNDcoATJDDS8g8LGLjA3czxITnACRKIujk+7KCCBi5wN3N8SA5wggQyiDRDmiHNkGZIi/HBv09xc4ATJJBBARU0cDU3IjYiNiI2IjYiNiI2IjYi9ouIXYy/5TL9ix8z/pxLcYIEMiigggYucDcH0gbSBtIG0gbSBtIG0gbSBtIG0ibSJtIm0ibSJtJifPDvvcx46a5o4AJ3M8aHhwOcIIEMIo2QRkgjpBHSGGmMNEYaIy1GAv+Czow38oq7GSPBwwFOkEAGBVQQaYI0QZoiTZGmSFOkKdIUaYo0RZoiLcYH//rRjDf2igQyKKCCBi4QdXMkkOAAJ0gggwIqaOACd3MjbSNtI20jbSNtI20jbSNtI2132rwucIATJJBBARU0cIFIG4gYiBiIGIgYiBiIGIgYiMiRwM+Q+WdoHg5wggQyKKCCBi4QaYQ0QhohjZBGSCOkEdIIaYQ0QhojjZHGSGOkMdIYaYw0RgQjIscHCw5wggQyKKCCBi5wNxVpijRFmiJNkaZIU6Qp0hRpijRDmiHNkGZIM6QZ0gxphjRDWo4afpEzc9RIDnCCkbaDChq4wN3M8SE5wAmibowPzx9TElBBAxe4i/FiYXGAE2RQQAUNXCAiBiIGIgYiYnx4GGkjKKCCBi5wN2N8eDjACUbdGVTQwAXuZowEDwc4wdgKCjIooIIGLnA38w9XJQeICM6IP//8+KH+EOP3v3399Mn/DuOLv8z4jz8+/PrD108///bhu59///Ll44f//uHL7/FL//XrDz/H8rcfvt7/eu/9Tz//617eBf/9+csn158f8enr9Y9O/3pjfPgeEPrj8pc/P+Ld2ShwU44q+GPNp8Kiowr+3a2ngp1V8LmyrHCftU4qzNnrcJ8g3luBj7Zi+vffngqq761g46jCRoV9th92twe6jvYD+fdGnwrMRxXoQoWj9kD+QudTweZRBcVW2HpnBb6O1oFnH02eR+vAo1s1k763wtkYxYYK6zqrMFBB3lthH+0HGT1GydhnFbpVy+T3VqCj/aDSvVvXqyOM/+mDV09ZW6pZ34MNn5VYtR33RdRRi9DVPcOu11div17ifv5c23Hz6HDY6EZl86hJWJ///WWAowqGCvvVQcb/AsNrJe5HodWyb+6zEj3U3c9NTwaJGV+JyVY1Xgy3rH+9SWCg0hfd6+9U8D9L8FTQ66QCXT1I3JfmR/uBr94PfLIVc/Rw65Mrr1Xwvy7x/7cZ9wV79c/7Kt3ONkOxGS+650mBe/7moEDcLjwFiE4KdMfyG+GTAoICL6/u/3oB3VgDe+8avLYJ8kYFW9qj7P77K+DfLOqmeHRBe99ccjdFenVkYXrr6gEDA8ur/eHNEu/fDuM6lmRyMjrdFRgVxlEFo67w4mbxb1RYoy5AaL24hPk7Ffqi+K7w6ggp+93H880S7z6e93XohUvSk4u5+7q6WsR9XX1yNHhN6Qp8HVXoy+K3KvjJ/fWrWtx5C716IfZmiXfvy7+4Em9UkKunQeR+tnuwL+VadTTuC/3rqIKtv1DBxrt3xJsl3n001tVX1ut6/VbJ3mgSMvse494iXAaN9W2JN25T1GaNVWq8Xivx1nbEH4PK7bgvR072xOg2se5nXicVZt80rvt0flShh8t1P4s4qrC7wj2RfVKBqO8wiPdRBdyjkI13Vzg6mtQ9Y52dNV5W4KPpucXDusJZe3hZgY72JHO36jdOwH+5wtGeZJtd4Wha6tsKJ+3hnlCro3lzHFVY3BX2yVawXl1Bj/om69SuwCcV7mdifVV4rZP5A4o/85sV7ichRxUIFY4eIXxT4WhGifA4535EdzLKUbylmxXu++ajCoQKfL27ghxV6Nkgmod3fX0FcT9oPGpRxKhwdMb5poIctQeybg98HW0Fz26TZw8A7gcwqHA00n5TQY+mk9j6nu/sAcA3FY6uo0iubpNyNin2TYWjFiXUcwBydAVCsrqCXkd7EvOspGc962UFmkcV+oqU9KxnvaygR6Ocom/qmu+ucDYnhNHexvXuCkctynDWs7Pz5ssKZ+dNE2zFOqqwLsKs0tFWrL7Xo6VH/WItVDg7+7+scHTnfd9edN/cw95bYR71i03dN8+ezH1TQY76xcaV2Lb57gpHR3Njfu86Onfzxahw9HoQj75+4MFnFXo/8Dhch34IcVfQ91Y4u88aPd97cx5V6JmcuwK9u8LJGMWzZ995zrMK/UyL59HLXowXjG6eVehnSncFfneFk755z3vU+YJpnlVA36Sj6wfmq9vk2QtGTFtQgd5d4ahFcc+yMh+dee87AjzFkKPxYSmepNjRGLX7Gob32Ti5+7k976NWLXiHQs7GScG7AzKO7rNk9qsDN/dRBUaFo/tNwfzDXezkGkaoZ5OEjl5IFe4nazePjgX3vZ7wUYsSwVbI2VZIj1EietQmZVFXOJqfFO3rSdGj1+buNUeFs63QfkladB+1qHXV/MPNo1a95ugK82wdsBXrbCs29TpsPmrVu2e8ZZ+NMLgq1us6WQe9um/ec9/XUQVFhXVWYddVsY7r5IpUcWWu4+hlUI3/M5WnwtFZT/F+0T0VdLQfZo8PN0/OF0r9VouSnFXYvQ5n1zDKfcZRPjrj3NNRoyvo2Tr0K7EqR1eDitlFlaOnciq6usLRPIxKfxXknpY72g/a9/6qR/f+qujdb7wk/WaFvirWN15PfquCYT/Y0R2K4k2rm0d7cvXbXvf05FGFjTcoNh31i41+sY9mvHX3E/ObJ+tg1+h3GK+j59129Tvzdh31brt6jLonek/GahvdJm0ePUsy6iuQm/OoQr/vbnT0pNio3yQxPnpabXhzwPho5t9wXW0yjvaDzNUVjvqF4aV9EzlqD9JPH0yOzrymoyvoPKuA72CcjdWmfQVi+n/OOP+8f/rhp89fv3/xpc4//vRaXz//8OOXT8+P//79559e/Otv//Nr/cuPXz9/+fL5P9//+vWXnz796/evn7yS/9uHy/+HP3z3j3Gpfhxjjn9+/GD3z/N+wvlx3vM5988rfr5nmu6H4Hz/vP1nvucqplx2/+xf7v0H3c/C7qfk/uPI3yf/vPzzT9+A/wU=", + "debug_symbols": "td3djt42kgbge/GxD0TWHyu3MhgEScYzMGAkgTdZYBHk3ldVVNXbXqAbCRt7Mno67q9e/ZCUROnr+ePDvz79+Pt/vv/8879/+a8P3/3jjw8/fv385cvn/3z/5Zeffvjt8y8/3//1jw9X/A+tD9+Njx/Ic8HXXoy9mB++m/eC9oL3QvZC98L2Yu2F50KuvRh7savIriK7iuwqsqvIriK7itxV6OMHvfZi7MXcC9oL3gvZC90L24u1F7uK7Sq2q9iuYruK7Sq2q9iuYruK3VX4Xngu1rUXYy/mXtBe8F7IXuhe2F7sKmtX8V3FdxXfVXxX8V3FdxXfVfyuIvdi7YXnYlzXs7zraCzns7wrWSz5Wcqz1Gd5V1uxXM/yruf3clzPcjzL+SzveuMKcEEKWrDCKviDeRWiNY3ALFCBC1LQghVWwR/QVYjKMzALVOCCFLRghVXwB9n+E1WZqzJXZa7KXJW5KkdvGBRYBX8QfWJjFGaBClyQghaqslRlqcrRTwYHRmEWqMAFKWjBCqvgD6wqW1W2qmxV2aqyVWWrylaVoy+NaLHRmxLRnzZGYRaowAUpaMEKUTnafvSwRPSxjVGIytH+o6dtcEEKWrDCKvjGjG43VmAUZoEKXJCCFqywClH57mgzOuDGKMxCjJpXgAtS0IIVVsEfRB/cGIVZqMqzKs+qPKvyrMqzKs+qTFU5+uAcgVmgAhekoAUrrII/iD44Z2AUZiEqU4ALUtCCFVbBH+R5KRGVOTALVOCCFLRghVXwB9EHpwRGYRaicrSf6IMbUtCCFVbBH0QfnNFaog9uzAIVuCCFOJfF0cmzWWIV/EH0wY1RmAUqxBkyDkr0wQ0tWGEV/EH0QYrjFX1wYxaowAUpaCEqx16NPrjhGxR9cGMUZoEKXIjKEtCCFVbBH0Qf3BiFWaACF6ryqMqjKkffIQ1YYRX8QfSdjVGILAtQgQtS0IIVVsEfcNWJfkEroA+i8ec/RePfqF+WCpUKlQqVCpUKlQqVCtWqrFVZq7JWZa3KWpW1Viwv2xKr4A/y4i0xCrNABS7UJmcz9gAVuCAFLVhhFfxBNuPEKFRlr8pelb0qe1X2quxV2Z/KHM2Yr8AozAIVuCAFLdiDUXWyiWqAC/XLo395FfzBrI/PWo1ZqzFrNWatxqzVmFV5VuVZlWdVpqpMVTlaOOfNRK0q1apmC09owQqr8PQd5qswCrMQK0YBK6yCP4hesDEKs0CF2GQOSEELVlgFfxC9YGMUorIEqMAFKUTlWPnoBRur4A+iF2yMwixQoerkDYvFHVn98qpfXvXLeceyAlLQghVWwR/k3UsiKkczzjuYBBW4cFeWuIXMO5lYn+gOG2tDos1L3i5SgQvxcQpowQqr4A+iF2yMwiw8x1RG1RlPS5BZvzzrl6PNb3ChVmPWx2etBj0NSWgUZqFCo4ULB+JTEje/9SmuT8VALRrQghViS2NHRetNROvdGIVZiJVfAS5IQQtWWAV/EK13Iyp7oOpEy9z/pX7Z6pejQW7ELegVoAIXpLCeOtFEE3EFslGh0VZ1BOJTOSVQn1r1qWhsGrsuGtuGFO4t1djh0dg2VsE3NMbejVGYBSpEZQk8dTTamGqgfnnUL8eQuyEFLfTHn9XQaHVZOVrdBhUqNFqdWiA+tWLSYzzp0cY2qBARHlgFfxCNbeP+uF2BWaACF6SgBSuswl3ZRky7VJ1oYzYD9ctSvxxNKxFNa6NWQ+vjWqsRw2BWjsa2sQoVGq3OcponPhU7Mwa9TI+r3I31IBqSx66LQW+DC1LQghVWwR/EoLcRkyOxM2PQ26ACF3J6JLYn7ye3coIk1j/vKLf8keU95Vbc+l0zNFvU4pa0tGWt1fJS3l1eOQc2WrNFrcyIOa89zZPKDAlZa7W8tOd6NDRas0UtbklLW9ZarcywmLO7WqM1W5mxQtySVmZ4yFqr5aWc/4lJK8sJoK3Zoha3pKUta61WTl7Fkc6ZoK3Rmq3MiOOWs0FbmZEzldqy1mplRhy3nBPayow4RjkrtEUtbmVG7PGcGdqyVmbEfs7JoVTODm2NVmbEHs8Joi1uSUtb1lotL+U80VZmxDHKmaItanErJ+Vij+ds0VZO+MXezfmiLS/ljNFWTvrFHs85o62c9ou9m7NGW9LSVmbkjPFqZYbE9PHVGq3ZygwNcSszLKQta61WZqyYm75ao5UZHqIWt6SV84xXyFqr5aXs51ujNVs5kTlC3JKWtqy1Wl7Kfr41WpkxQ9TilrQyg0LWyoycr/dS9vOt0cqMOB7Zz7cyI45H9vMtbVkrM+J47Anf0J7xjaOwp3xTs0WtzIijsKd9UzmHGvs0+/nWanlpz/3GHtqTv6nZoha3pKUta61WZsQ+3bPAqdGarawX+3nP+6astVpeyj69NVqzRa1c53yIIi1tZUYco+zTW5kRxyP79NZozVZmxDHKPr0lrcyII5N9eisz4shknw559umt0cpZ7CtELW5JK2eyR8haq+Wl7NNbozVb1OJWZsyQtqyVGRTyUvZpyQdSozVb1MqMeA6VfXpLW9bKDA15Kfv01mjNFrW4JS1tZYaFVstL2afjbsSzT29lRhyZ7NNb3JJWZMRdimef3lotL+WFb4RF993gghS0YIVV8Ad5TZyIj8eaRr/c0IIVVsEf5KVwYhRmgQpV2aqyVWWrylaVo3da7IjonCu2NPrmxixQgQtS0ELViQ64MQqzQAUuSEEL9hSMjrfhG/dV9dUardmiFrdiPUdKW9ZaLS9Fv3s0WrNFra48uvLoyqMrj648u/LsyrMrR29bM8UtbUVlSq2Wl6KPPRqtqMwpakXlfH4cfeyRtqwVGfu5speij639jHm0ZotakZHPmKOPPYoMT1lrtbwU503P4xbnzUdx05V7KDreI25JK27pcl9F53sUN3W5N6L7bUX/ezQe5UNp5xS3pKUta62Wl+IoPBqt2eoM6gzqDOoM6gzqjDgKHkcmn0m7puKzltKWtVbLS7l3t0ZrtqjFrc6QzpDOkM6QztDO0M7QzsgrgZjkGfsx8MMBTpBABgVU0MAFIs2R5khzpDnSHGmONEeaI82R5p22Hxc/zLSZZFBABQ1coDfzkuAh6uZFQcyBjXxkXGRQQAUNXKA38+Lg4QCRNpE2kTaRNpE2kTaRNpFGSCOkEdIIaYQ0QhohjZBGSCOkMdIYaYwIRgQjghHBiGBEMCIEEXkTEHOAI586FwlkUEAFDVygN/Nu4CHSFGmKNEWaIk2RpkhTpCnSDGmGNEOaIc2QZkgzpBnSDGkLEQsReySQpIAKGrhAb+6RYHOAEyQQaY40R5ojzZHmnUbXBQ5wggQyKGCmxYhPu89bUkAFDVygN3eX3kSx3aU3CWQw01Yy0zxp4AK9ubv05gAnSCCDAqIuoS6jLqMuoy6jLqMuo27245h9vmngAr2Z/fjhACdIIIMCIk2QJkgTpCnSFGmKNEWaIk2RpkhTpCnSFGmGNEOaIc2QZogwROQZ3fKFvOyxDwc4QQIZFFBBAxeINEeaI82R5khzpDnSHGmONEead1o+tS9m2n5jkEEBFTRwgd7MM/pD1M0zuuU7hHlGf8iggAoauEBvZvd/OECkTaRNpE2kTaRNpE2kTaQR0ghphDRCGiGNkEZII6QR0ghpjDRGGiOCEcGIYEQwIhgRjAhBxB4JODlBAhkUUEEDF+jNPRJsIk2RpkhTpCnSFGmKNEWaIs2QZkgzpBnSDGmGNEOaIc2QtscHSRLIoIAKGrhAbzrq7pFgc4KZpkkGBVTQwAV6UfZIsDlAAhkUUEEDF4iIgYiBiD0obGaaJRkUUEEDF+jNPShsDnCCSJtIm0ibSJtI24PCSnpzDwqbA5wggQwKqM3d5z05wAkSyKCAChq4QG8K0gRpgjRBmiBNkCZIE6QJ0gRpijRFWnb/nNmS7OgPFTRwgd7Mjv5wgKibHT2npPJFjqKAChq4QG9mn384wAkibSFtIW0hbSFtIW0hzZHmSHOkOdIcaY40R5ojzZHmnabXBQ5wggwKqKCBC0TEQMRARI4EOS2Yb6IUGRRQQQMX6M0cCR4OEGkTaRNpE2kTaRNpE2kTaYQ0QhohjZBGSCOkEdIIaYQ0QhojghHBiGBEMCIYEYwIRgQjQrBBOT7kNGy+L1MkkEEBFTRwgd7M8SFndfNVmiKDAipo4AK9aai7xwdJTpBABgVU0MAFenMhYiFiIWIhYiFiIWIhYiFiIWIPCpuZpskJEsiggAoauEAv7jd4ciJ8v8LzkEEBFTRwgd7cI8FKDnCCBDIooIIGruZExETERMRExETERMRExETEfBHhzd39PTnACRLIoIAKGria2bvzIcJ+aeehgAoauEBvZu9+OMAJIk2QJkgTpAnSBGmCNEWaIk2RpkhTpGWfz8ch+7Wdh97M3v1wgBMkkEHUzd6dT1f2+zsPF+jNPPs/HOAECWRQQKQtpC2kLaQ50hxpjjRHmiPNkeZIc6Q50rzT9ms9Dwc4QQIZFNDABSJiIGIgYiBiIGIgIvt8Ptfa7/Y8NHCB3szu/3CAEySQQaRNpE2kTaRNpBHSCGmENEIaIY2QRkgjpBHSCGmMNEYaI40RwYhgRDAiGBGMCEGEIEIQIdigPT5wUkAFDVygN/f4sDnACWba/uakggYu0Jt7fNgc4ARRd48P+Q3MPT5sKmjgAr25x4fNAU4QEQsRe1CwpIEL9OYeFDYHOEECGRQQaY40R5p32n4v6GGmreQECWQw0zypoIEL9PjyZYz2+YZQcYATJJBBATU4kgYu0Jv7+6QzOcAJEph1KWngAr25v026OcAJEsiggEgjpBHSCGmMNEYaI42RxkhjpDHSGGn5jdN4b/ruHAOcIIEMCqiggS/q5lZE18t3iIoDnCCBDAqooIELRJohzZBmSDOkGdIMaYY0Q5ohzZC2kLaQtpC2kLaQtpC2kLaQtpDmiHBEOCIcEY4IR4QjwhHhGZFfPHd/OPOlpeIAJ0gggwIqaOACkTaQNpA2kDaQNpA2kDaQNpA2kDaQNpE2kTaRNpE2kTaRNhExETERQYggRBAiCBGECEIEYYP2+GDJBXpzjw+bA5wggQwKmGn7LwJ4M79//nCAEySQQQFRd48PnlygN/f4sDnACRLIoIAKIk2RpkgzpBnScnyI7z/cJJBBARU0cIHezPHhISIWIhYiFiIWIhYiFiIWIhwROT48zLSRJJBBARU0cIFezL/pUhzgBAlkUEAFDVwg0gbSBtIG0gbSBtIG0gbScnyI76nM/CMwRW/m+PBwgBMkkEEBFUTaRNpEGiGNkEZII6QR0ghp+y9RUDBHgocDnCCBDAqooIELRJogTZAmSBOkCdIEaYI0QZogTZCmSMvxIb4uNPMvxRQFVNDABXozR4KHqLtHAkkSyKCAChq4QG/ukWBzgEhbSFtIW0hbSFtIW0hbSHOkOdIcaY40R5ojzZHmSHOkeafN6wIHSCCDAipo4AIRMRCxRwJNTpBABgVU0MAFenOPBJtIm0ibSJtIm0ibSJtIm0ibSCOkEdIIaYQ0QhohjZBGSCOkMSIYEXt8sCSBDAqooIEL9OYeHzYHiDRBmiBNkCZIE6QJ0gRpijRFmiJNkaZIU6Qp0hRpijRFmiFtjxorOUECGcw0Ty7Qm3t82BzgBAlkEHVzfHj+CpKBC/Rmjg8PBzhBAhlEhCPCEeEdkW8TFgc4QQIZFDDTRtLABXozx4eHA5wggQxm3ZlcoDdzJHg4wAkSyGBuBSUVNHCB3syR4OEAJ0ggImhH/Pnnxw/1hxO//+3rp0/xdxNf/CXFf/zx4dcfvn76+bcP3/38+5cvHz/89w9ffs9f+q9ff/g5l7/98PX+13vvf/r5X/fyLvjvz18+hf78iE9fr390xtcR88N3x+2Py1/+/Mh3Z7PATTmqEI81nwqLjirEd62eCnZWIebKdoX7HHRSYc5eh3sgf28FPtqKGd9XeyqovreCjaMKjgp+th+828M95pxUoPie51OB+agCXahw1B4oXuh8Ktg8qqDYClvvrMDX0Trw7KPJ82gdeHSrZtL3Vjgbo9hQYV1nFQYqyHsr+NF+kNFjlAw/q9CtWia/twId7QeV7t26Xh1h4k8VvHrKcqlmfQ82fFZi1Xbc1z1HLUJX9wy7Xl8Jf73E/Zy4tuPm0eGw0Y3K5lGTsD7/x6P8owqGCv7qIBN/MeG1Evcjy2rZN/2sRA919/PNk0Fi5ldidqsaL4Zb1r/eJDBQ6Yvu9XcqxJ8ReCrodVKBrh4k7kvoo/3AV+8HPtmKOXq4jUmQ1yrEX4P4/9uM+xq7+ifRsrPNUGzGi+55UuCeZzkokLcLTwGikwLdseI29qSAoMDLq/u/XkAda2DvXYPXNkHeqGBLe5T1v78C8Q2gbopHF7T3TSB3U6RXRxamt64eMDCwvNof3izx/u0wrmNJJiej012BUWEcVTDqCi9uFv9GhTXqAoTWi0uYv1OhL4rvCq+OkOLvPp5vlnj38Ywvt+CS9ORi7r6urhZxX1efHA1eU7oCX0cV+rL4rQpxcn/9qhZ33kKvXoi9WeLd+/IvrsQbFeTqaRC5n8Ee7Eu5Vh2N+0L/Oqpg6y9UsPHuHfFmiXcfjXX1lfW6Xr9VsjeahMy+x7i3CJdBY31b4o3bFLVZY5Uar9dKvLUd+ceb9nbclyMne2J0m1j3s6mTCrNvGtd9Oj+q0MPlup8ZHFXwrnBPOJ9UIOo7DGI/qoB7FLLx7gpHR5O6Z6yzs8bLCnw0Pbd4WFc4aw8vK9DRnmTuVv3GCfgvVzjak2yzKxxNS31b4aQ93BNqdTRvjqMKi7uCn2wF69UV9Khvsk7tCnxS4X521VeF1zqZP6D8s7y7wv0k5KgCocLRI4RvKhzNKBEe59wP2E5GOcq3dHeF+775qAKhAl/vriBHFXo2iObhXV9fQdwPBI9aFDEqHJ1xvqkgR+2BrNsDX0dbwbPb5NkDgPsBDCocjbTfVNCj6SS2vuc7ewDwTYWj6yiSq9uknE2KfVPhqEUJ9RyAHF2BkKyuoNfRnsQ8K+lZz3pZgeZRhb4iJT3rWS8r6NEop+ibuua7K5zNCWG0t3G9u8JRizKc9ezsvPmywtl50wRbsY4qrIswq3S0Favv9WjpUb9YCxXOzv4vKxzded+3F903fdh7K8yjfuHUffPsydw3FeSoXziuxNzmuyscHU3H/N51dO7mi1Hh6PUgHn39wIPPKvR+4HG4Dv0Q4q6g761wdp81er735jyq0DM5dwV6d4WTMYpnz77znGcV+pkWz6OXvRgvGN08q9DPlO4K/O4KJ33znveo8wXTPKuAvklH1w/MV7fJsxeMmFxQgd5d4ahFcc+yMh+dee87AjzFkKPxYSmepNjRGOV9DcN+Nk56P7dnP2rVgnco5GycFLw7IOPoPktmvzpw048qMCoc3W8K5h/uYifXMEI9myR09EKqcD9Zu3l0LLjv9YSPWpQItkLOtkJ6jBLRozYpi7rC0fykaF9Pih69NnevOSqcbYX2S9KiftSi1lXzDzePWvWaoyvMs3XAVqyzrXDqdXA+atXeM97iZyMMror1uk7WQa/um/fc93VUQVFhnVXwuirWcZ1ckSquzHUcvQyq+X9+8lQ4Ousp3i+6p4KO9sPs8eHmyflCqd9qUZKzCt7rcHYNo9xnHOWjM849HTW6gp6tQ78Sq3J0NaiYXVQ5eiqnoqsrHM3DqPRXQe5puaP9oH3vr3p076+K3v3GS9JvVuirYn3j9eS3Khj2gx3doSjetLp5tCdXv+11T08eVXC8QeF01C8c/cKPZrzV+4n5zZN1sGv0O4zX0fNuu/qdebuOerddPUbdE70nY7WNbpM2j54l2f1EsSrQ0cyeUb/vbnT0pNio3yQxPnpabXhzwPho5t9wXW0yjvaDzNUVjvqF4aV9EzlqD9JPH0yOzrymoyvoPKuA72CcjdWmfQVi+n/OOP+8f/rhp89fv3/xpc4//oxaXz//8OOXT8+P//79559e/Otv//Nr/cuPXz9/+fL5P9//+vWXnz796/evn6JS/NuHK/6HP3z3j3Gpfhxjjn9+/GD3z5NofZz3Y4z755U/2/0zs94/e/x8Xx7cP7vfP8eXcP9B97Ow+yl5/Dj270t83v75Z2zA/wI=", "file_map": { "5": { "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for str {\n fn eq(self, other: str) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use crate::cmp::{max, min};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_0.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_0.snap index d9b23ebf3b9..f57821994db 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_0.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_0.snap @@ -50,9 +50,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: []", "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(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32844), size_address: Relative(3), offset_address: Relative(4) }, Mov { destination: Relative(1), source: Direct(32844) }, Mov { destination: Relative(2), source: Direct(32845) }, Call { location: 13 }, Call { location: 23 }, 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) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Field, value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 4 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32843), bit_size: Field, value: 20 }, Return, Call { location: 1328 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Const { destination: Relative(4), bit_size: Field, value: 10 }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 45 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(2), bit_size: Field, value: 1 }, Const { destination: Relative(5), bit_size: Field, value: 2 }, Const { destination: Relative(6), bit_size: Field, value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, 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(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(9), source: Relative(8) }, Store { destination_pointer: Relative(9), source: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(2), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 72 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 96 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32839) }, Mov { destination: Relative(12), source: Relative(2) }, Mov { destination: Relative(13), source: Direct(32839) }, Mov { destination: Relative(14), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 1337 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(11) }, JumpIf { condition: Relative(5), location: 111 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Load { destination: Relative(2), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 117 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 1393 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(12) }, Mov { destination: Relative(9), source: Relative(13) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32840) }, JumpIf { condition: Relative(10), location: 132 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, Load { destination: Relative(2), source_pointer: Relative(10) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(10), location: 138 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(1) }, Mov { destination: Relative(14), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1457 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(13) }, Mov { destination: Relative(10), source: Relative(14) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(11), location: 151 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Const { destination: Relative(2), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(10), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(12), op: Equals, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(12), location: 159 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(13) } }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1562 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(15) }, Mov { destination: Relative(12), source: Relative(16) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 7 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 173 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 9 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Load { destination: Relative(14), source_pointer: Relative(15) }, Const { destination: Relative(12), bit_size: Field, value: 4 }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(12) }, JumpIf { condition: Relative(15), location: 181 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Load { destination: Relative(12), source_pointer: Relative(3) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 187 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(12) }, Mov { destination: Relative(12), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32839) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(3) }, BinaryFieldOp { destination: Relative(16), op: Equals, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(16), location: 229 }, Jump { location: 198 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 204 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(14) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Store { destination_pointer: Relative(12), source: Direct(32841) }, Store { destination_pointer: Relative(15), source: Relative(3) }, Jump { location: 258 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 235 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(14) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Store { destination_pointer: Relative(12), source: Direct(32840) }, Store { destination_pointer: Relative(15), source: Relative(3) }, Jump { location: 258 }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(1), rhs: Direct(32843) }, JumpIf { condition: Relative(3), location: 261 }, Jump { location: 281 }, Load { destination: Relative(5), source_pointer: Relative(12) }, Load { destination: Relative(6), source_pointer: Relative(15) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 269 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(18), source: Direct(32774) }, Store { destination_pointer: Relative(18), source: Direct(32843) }, Store { destination_pointer: Relative(12), source: Relative(8) }, Store { destination_pointer: Relative(15), source: Relative(17) }, Jump { location: 281 }, Load { destination: Relative(5), source_pointer: Relative(12) }, Load { destination: Relative(6), source_pointer: Relative(15) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 289 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Field, value: 15 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(18), source: Direct(32773) }, Mov { destination: Relative(19), source: Direct(32774) }, Store { destination_pointer: Relative(19), source: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(18) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 305 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(5) }, Const { destination: Relative(5), bit_size: Field, value: 30 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Relative(5) }, Store { destination_pointer: Relative(12), source: Relative(19) }, Store { destination_pointer: Relative(15), source: Relative(20) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(2) }, JumpIf { condition: Relative(12), location: 321 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, Load { destination: Relative(12), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(12), rhs: Relative(10) }, JumpIf { condition: Relative(15), location: 327 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(13) }, Load { destination: Relative(12), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(12), rhs: Relative(8) }, JumpIf { condition: Relative(15), location: 333 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(12), bit_size: Integer(U32), value: 8 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, Load { destination: Relative(15), source_pointer: Relative(17) }, BinaryFieldOp { destination: Relative(17), op: Equals, lhs: Relative(15), rhs: Relative(5) }, JumpIf { condition: Relative(17), location: 340 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, Const { destination: Relative(17), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(19) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(18) }, IndirectConst { destination_pointer: Relative(15), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(18) }, Mov { destination: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(18), source: Direct(32836) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Direct(32836) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Direct(32839) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(15) }, JumpIf { condition: Relative(16), location: 395 }, Jump { location: 364 }, Load { destination: Relative(6), source_pointer: Relative(15) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 370 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(20) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(15) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(4) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(1) }, Store { destination_pointer: Relative(17), source: Direct(32841) }, Store { destination_pointer: Relative(18), source: Relative(6) }, Jump { location: 424 }, Load { destination: Relative(6), source_pointer: Relative(15) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 401 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(20) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(15) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(1) }, Store { destination_pointer: Relative(17), source: Direct(32840) }, Store { destination_pointer: Relative(18), source: Relative(6) }, Jump { location: 424 }, Load { destination: Relative(6), source_pointer: Relative(17) }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 432 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Relative(5) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(18), source: Relative(20) }, JumpIf { condition: Relative(3), location: 445 }, Jump { location: 463 }, Load { destination: Relative(6), source_pointer: Relative(20) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 451 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(19), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Direct(32843) }, Store { destination_pointer: Relative(17), source: Relative(6) }, Store { destination_pointer: Relative(18), source: Relative(19) }, Jump { location: 463 }, Load { destination: Relative(6), source_pointer: Relative(17) }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 471 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Relative(8) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(18), source: Relative(20) }, Const { destination: Relative(6), bit_size: Field, value: 50 }, JumpIf { condition: Relative(3), location: 503 }, Jump { location: 485 }, Load { destination: Relative(14), source_pointer: Relative(20) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(14) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 491 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(6) }, Store { destination_pointer: Relative(17), source: Relative(14) }, Store { destination_pointer: Relative(18), source: Relative(21) }, Jump { location: 503 }, Load { destination: Relative(14), source_pointer: Relative(17) }, Load { destination: Relative(15), source_pointer: Relative(18) }, Load { destination: Relative(19), source_pointer: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 511 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(19) }, Const { destination: Relative(19), bit_size: Field, value: 60 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(22), source: Direct(32773) }, Mov { destination: Relative(23), source: Direct(32774) }, Store { destination_pointer: Relative(23), source: Relative(19) }, Store { destination_pointer: Relative(17), source: Relative(21) }, Store { destination_pointer: Relative(18), source: Relative(22) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 527 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(10) }, JumpIf { condition: Relative(15), location: 533 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(13) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(5) }, JumpIf { condition: Relative(15), location: 539 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(12) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(8) }, JumpIf { condition: Relative(15), location: 545 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(11) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(6) }, JumpIf { condition: Relative(15), location: 551 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(14) }, Load { destination: Relative(15), source_pointer: Relative(17) }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(15), rhs: Relative(19) }, JumpIf { condition: Relative(14), location: 558 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(18) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(17), source: Direct(32836) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Direct(32836) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Direct(32839) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(14) }, JumpIf { condition: Relative(16), location: 613 }, Jump { location: 582 }, Load { destination: Relative(18), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 588 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(18) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(4) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(15), source: Direct(32841) }, Store { destination_pointer: Relative(17), source: Relative(14) }, Jump { location: 642 }, Load { destination: Relative(18), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 619 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(18) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(15), source: Direct(32840) }, Store { destination_pointer: Relative(17), source: Relative(14) }, Jump { location: 642 }, Load { destination: Relative(14), source_pointer: Relative(15) }, Load { destination: Relative(18), source_pointer: Relative(17) }, Load { destination: Relative(19), source_pointer: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 650 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(19) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(5) }, Store { destination_pointer: Relative(15), source: Relative(19) }, Store { destination_pointer: Relative(17), source: Relative(21) }, JumpIf { condition: Relative(3), location: 663 }, Jump { location: 681 }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 669 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Direct(32843) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(17), source: Relative(20) }, Jump { location: 681 }, Load { destination: Relative(14), source_pointer: Relative(15) }, Load { destination: Relative(15), source_pointer: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1713 }, Mov { destination: Relative(18), source: Direct(32773) }, Mov { destination: Relative(20), source: Direct(32774) }, Load { destination: Relative(19), source_pointer: Relative(20) }, Load { destination: Relative(14), source_pointer: Relative(18) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 696 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Direct(32841) }, JumpIf { condition: Relative(14), location: 702 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(19), rhs: Relative(5) }, JumpIf { condition: Relative(14), location: 706 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Direct(32841), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1713 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(20), source: Direct(32774) }, Load { destination: Relative(19), source_pointer: Relative(20) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Direct(32840) }, JumpIf { condition: Relative(18), location: 717 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(19), rhs: Relative(1) }, JumpIf { condition: Relative(14), location: 721 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(20) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(18) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Direct(32839) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(14) }, JumpIf { condition: Relative(16), location: 776 }, Jump { location: 745 }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 751 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(15) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(4) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(18), source: Direct(32841) }, Store { destination_pointer: Relative(19), source: Relative(14) }, Jump { location: 805 }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 782 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(15) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(18), source: Direct(32840) }, Store { destination_pointer: Relative(19), source: Relative(14) }, Jump { location: 805 }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(19) }, Load { destination: Relative(17), source_pointer: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 813 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(5) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(21) }, JumpIf { condition: Relative(3), location: 826 }, Jump { location: 859 }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 832 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Direct(32843) }, Load { destination: Relative(17), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 847 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(22), source: Direct(32773) }, Mov { destination: Relative(23), source: Direct(32774) }, Store { destination_pointer: Relative(23), source: Relative(8) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(22) }, Jump { location: 859 }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(19) }, Load { destination: Relative(17), source_pointer: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 867 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(21), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, JumpIf { condition: Relative(21), location: 873 }, Call { location: 1750 }, BinaryIntOp { destination: Relative(21), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(17) }, JumpIf { condition: Relative(21), location: 876 }, Call { location: 1753 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(22), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Mov { destination: Direct(32772), source: Relative(22) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1756 }, Mov { destination: Relative(21), source: Direct(32774) }, Mov { destination: Relative(23), source: Direct(32775) }, Store { destination_pointer: Relative(23), source: Relative(6) }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 892 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(22), op: LessThanEquals, bit_size: U32, lhs: Relative(17), rhs: Relative(14) }, JumpIf { condition: Relative(22), location: 898 }, Call { location: 1750 }, BinaryIntOp { destination: Relative(22), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(14) }, JumpIf { condition: Relative(22), location: 901 }, Call { location: 1753 }, Const { destination: Relative(14), bit_size: Field, value: 100 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(24), op: Mul, bit_size: U32, lhs: Relative(24), rhs: Relative(2) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Mov { destination: Direct(32772), source: Relative(24) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1756 }, Mov { destination: Relative(23), source: Direct(32774) }, Mov { destination: Relative(25), source: Direct(32775) }, Store { destination_pointer: Relative(25), source: Relative(14) }, Store { destination_pointer: Relative(18), source: Relative(22) }, Store { destination_pointer: Relative(19), source: Relative(23) }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(13) }, JumpIf { condition: Relative(17), location: 918 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(32841) }, Load { destination: Relative(17), source_pointer: Relative(18) }, BinaryFieldOp { destination: Relative(18), op: Equals, lhs: Relative(17), rhs: Relative(6) }, JumpIf { condition: Relative(18), location: 924 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(32842) }, Load { destination: Relative(17), source_pointer: Relative(18) }, BinaryFieldOp { destination: Relative(18), op: Equals, lhs: Relative(17), rhs: Direct(32836) }, JumpIf { condition: Relative(18), location: 930 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(12) }, Load { destination: Relative(17), source_pointer: Relative(18) }, BinaryFieldOp { destination: Relative(12), op: Equals, lhs: Relative(17), rhs: Relative(5) }, JumpIf { condition: Relative(12), location: 936 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(11) }, Load { destination: Relative(5), source_pointer: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Equals, lhs: Relative(5), rhs: Relative(14) }, JumpIf { condition: Relative(11), location: 942 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(14) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(12) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, Mov { destination: Relative(12), source: Relative(11) }, Store { destination_pointer: Relative(12), source: Direct(32836) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32836) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32839) }, Mov { destination: Relative(12), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(5) }, JumpIf { condition: Relative(16), location: 997 }, Jump { location: 966 }, Load { destination: Relative(14), source_pointer: Relative(5) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 972 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(14) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(1) }, Store { destination_pointer: Relative(11), source: Direct(32841) }, Store { destination_pointer: Relative(12), source: Relative(5) }, Jump { location: 1026 }, Load { destination: Relative(14), source_pointer: Relative(5) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 1003 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(14) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(1) }, Store { destination_pointer: Relative(11), source: Direct(32840) }, Store { destination_pointer: Relative(12), source: Relative(5) }, Jump { location: 1026 }, Load { destination: Relative(5), source_pointer: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(12) }, BinaryIntOp { destination: Relative(12), op: LessThan, bit_size: U32, lhs: Direct(32839), rhs: Relative(5) }, JumpIf { condition: Relative(12), location: 1031 }, Call { location: 1753 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U32, lhs: Relative(15), rhs: Direct(32839) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(18) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Load { destination: Relative(16), source_pointer: Relative(17) }, Mov { destination: Direct(32771), source: Relative(11) }, Mov { destination: Direct(32772), source: Relative(15) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1825 }, Mov { destination: Relative(14), source: Direct(32774) }, Load { destination: Relative(5), source_pointer: Relative(14) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(5) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1049 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(12) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryFieldOp { destination: Relative(18), op: Equals, lhs: Relative(16), rhs: Relative(4) }, JumpIf { condition: Relative(18), location: 1061 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, JumpIf { condition: Relative(3), location: 1063 }, Jump { location: 1081 }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(11) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1069 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(18), source: Direct(32774) }, Store { destination_pointer: Relative(18), source: Direct(32843) }, Store { destination_pointer: Relative(5), source: Relative(11) }, Store { destination_pointer: Relative(15), source: Relative(17) }, Jump { location: 1081 }, Load { destination: Relative(11), source_pointer: Relative(5) }, Load { destination: Relative(12), source_pointer: Relative(15) }, Load { destination: Relative(14), source_pointer: Relative(12) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(14) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1089 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(12) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(18), source: Direct(32774) }, Store { destination_pointer: Relative(18), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(17) }, JumpIf { condition: Relative(3), location: 1120 }, Jump { location: 1102 }, Load { destination: Relative(3), source_pointer: Relative(17) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1108 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Store { destination_pointer: Relative(15), source: Relative(11) }, Jump { location: 1120 }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 1125 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1393 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(16) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1137 }, Call { location: 1753 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(6), rhs: Direct(32836) }, JumpIf { condition: Relative(8), location: 1143 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1146 }, Call { location: 1753 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32841) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 1152 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, JumpIf { condition: Relative(5), location: 1156 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1457 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(16) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32839), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1168 }, Call { location: 1753 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 1174 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 1178 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1562 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(16) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32839), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1190 }, Call { location: 1753 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 1196 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 1200 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1206 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 256 }, Const { destination: Relative(8), bit_size: Integer(U1), value: 0 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(11) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 32 }, BlackBox(ToRadix { input: Relative(1), radix: Relative(3), output_pointer: Relative(11), num_limbs: Relative(12), output_bits: Relative(8) }), BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(1), rhs: Direct(32836) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Direct(32840) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Direct(32840), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(9) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(12), source: Direct(32773) }, Mov { destination: Relative(14), source: Direct(32774) }, Store { destination_pointer: Relative(14), source: Relative(10) }, JumpIf { condition: Relative(3), location: 1259 }, Jump { location: 1233 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1239 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(12) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1247 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(12) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(9), source: Direct(32773) }, Mov { destination: Relative(14), source: Direct(32774) }, Store { destination_pointer: Relative(14), source: Relative(4) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Store { destination_pointer: Relative(8), source: Relative(9) }, Jump { location: 1270 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1265 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(3) }, Store { destination_pointer: Relative(1), source: Relative(11) }, Store { destination_pointer: Relative(8), source: Relative(12) }, Jump { location: 1270 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 1276 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 1282 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32841) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 1288 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 1294 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(2), location: 1300 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(1), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(1), location: 1306 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(3), source: Relative(3), bit_size: U1 }, JumpIf { condition: Relative(3), location: 1312 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Direct(32840) }, Mov { destination: Relative(10), source: Relative(7) }, Mov { destination: Relative(11), source: Direct(32840) }, Mov { destination: Relative(12), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(3) }, Call { location: 1337 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(9) }, JumpIf { condition: Relative(1), location: 1327 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1333 }, 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, Call { location: 1328 }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1344 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1352 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1364 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 1368 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 1373 }, Jump { location: 1371 }, Load { destination: Relative(1), source_pointer: Relative(9) }, Return, Load { destination: Relative(7), source_pointer: Relative(9) }, JumpIf { condition: Relative(6), location: 1376 }, Call { location: 1753 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 1383 }, Call { location: 1753 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, Load { destination: Relative(8), source_pointer: Relative(11) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(7), rhs: Relative(10) }, Store { destination_pointer: Relative(9), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(6) }, Jump { location: 1368 }, Call { location: 1328 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, 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: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1451 }, Jump { location: 1413 }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(1), rhs: Direct(32843) }, JumpIf { condition: Relative(8), location: 1437 }, Jump { location: 1416 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(32840) }, Mov { destination: Relative(7), source: Relative(1) }, Jump { location: 1448 }, Load { destination: Relative(1), source_pointer: Relative(5) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1443 }, Call { location: 1334 }, 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(6), source: Direct(32839) }, Mov { destination: Relative(7), source: Relative(5) }, Jump { location: 1448 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 1454 }, Mov { destination: Relative(3), source: Direct(32839) }, Mov { destination: Relative(4), source: Relative(5) }, Jump { location: 1454 }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(4) }, Return, Call { location: 1328 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1522 }, Jump { location: 1483 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1489 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1517 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1559 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1528 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1554 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1559 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Call { location: 1328 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1617 }, Jump { location: 1588 }, Mov { destination: Relative(1), source: Direct(32835) }, Jump { location: 1590 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, JumpIf { condition: Relative(2), location: 1594 }, Jump { location: 1593 }, Jump { location: 1654 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1602 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Field }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1657 }, Mov { destination: Relative(9), source: Direct(32773) }, Mov { destination: Relative(10), source: Direct(32774) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(2) }, Jump { location: 1590 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1623 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1649 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1654 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Load { destination: Direct(32775), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: LessThanEquals, bit_size: U32, lhs: Direct(32779), rhs: Direct(32777) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32775), rhs: Direct(2) }, JumpIf { condition: Direct(32780), location: 1668 }, Jump { location: 1685 }, JumpIf { condition: Direct(32781), location: 1670 }, Jump { location: 1674 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, Jump { location: 1684 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32783) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32782) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32777) }, Jump { location: 1684 }, Jump { location: 1697 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32782), op: Mul, bit_size: U32, lhs: Direct(32779), rhs: Direct(32783) }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(32784) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32779) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32782) }, Jump { location: 1697 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, JumpIf { condition: Direct(32781), location: 1711 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32776) }, Mov { destination: Direct(32784), source: Direct(32778) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1711 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1704 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32776) }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1722 }, Jump { location: 1726 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 1748 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1747 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1740 }, Jump { location: 1748 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32776), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Load { destination: Direct(32778), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32781), op: LessThanEquals, bit_size: U32, lhs: Direct(32780), rhs: Direct(32778) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, JumpIf { condition: Direct(32781), location: 1767 }, Jump { location: 1784 }, JumpIf { condition: Direct(32782), location: 1769 }, Jump { location: 1773 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, Jump { location: 1783 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32784) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32778) }, Jump { location: 1783 }, Jump { location: 1796 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32783), op: Mul, bit_size: U32, lhs: Direct(32780), rhs: Direct(32784) }, Const { destination: Direct(32785), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32785) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32784) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32783) }, Jump { location: 1796 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32782) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32774) }, JumpIf { condition: Direct(32782), location: 1810 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32785), source: Direct(32779) }, Mov { destination: Direct(32786), source: Direct(32781) }, BinaryIntOp { destination: Direct(32787), op: Equals, bit_size: U32, lhs: Direct(32785), rhs: Direct(32784) }, JumpIf { condition: Direct(32787), location: 1810 }, Load { destination: Direct(32783), source_pointer: Direct(32785) }, Store { destination_pointer: Direct(32786), source: Direct(32783) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, Jump { location: 1803 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Sub, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32786), op: Sub, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32788), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32786), op: LessThan, bit_size: U32, lhs: Direct(32788), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1824 }, Load { destination: Direct(32789), source_pointer: Direct(32788) }, Store { destination_pointer: Direct(32787), source: Direct(32789) }, BinaryIntOp { destination: Direct(32788), op: Sub, bit_size: U32, lhs: Direct(32788), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Sub, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1817 }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1834 }, Jump { location: 1840 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, Jump { location: 1862 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32782) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32781) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1861 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1854 }, Jump { location: 1862 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32783), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32783) }, Mov { destination: Direct(32786), source: Direct(32781) }, Mov { destination: Direct(32787), source: Direct(32782) }, BinaryIntOp { destination: Direct(32788), op: Equals, bit_size: U32, lhs: Direct(32786), rhs: Direct(32785) }, JumpIf { condition: Direct(32788), location: 1877 }, Load { destination: Direct(32784), source_pointer: Direct(32786) }, Store { destination_pointer: Direct(32787), source: Direct(32784) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1870 }, Return]" + "[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(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32844), size_address: Relative(3), offset_address: Relative(4) }, Mov { destination: Relative(1), source: Direct(32844) }, Mov { destination: Relative(2), source: Direct(32845) }, Call { location: 13 }, Call { location: 23 }, 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) } }, Const { destination: Direct(32835), bit_size: Integer(U32), value: 0 }, Const { destination: Direct(32836), bit_size: Field, value: 0 }, Const { destination: Direct(32837), bit_size: Integer(U1), value: 1 }, Const { destination: Direct(32838), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(32839), bit_size: Integer(U32), value: 2 }, Const { destination: Direct(32840), bit_size: Integer(U32), value: 3 }, Const { destination: Direct(32841), bit_size: Integer(U32), value: 4 }, Const { destination: Direct(32842), bit_size: Integer(U32), value: 5 }, Const { destination: Direct(32843), bit_size: Field, value: 20 }, Return, Call { location: 1328 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Const { destination: Relative(4), bit_size: Field, value: 10 }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 45 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(2), bit_size: Field, value: 1 }, Const { destination: Relative(5), bit_size: Field, value: 2 }, Const { destination: Relative(6), bit_size: Field, value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, 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(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(9), source: Relative(8) }, Store { destination_pointer: Relative(9), source: Relative(2) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(5) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(2), source_pointer: Relative(7) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 72 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(11) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(10) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(9) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, Mov { destination: Relative(10), source: Relative(9) }, Store { destination_pointer: Relative(10), source: Relative(5) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Load { destination: Relative(5), source_pointer: Relative(2) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 96 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(5) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 10 }, Mov { destination: Relative(10), source: Direct(0) }, Mov { destination: Relative(11), source: Direct(32839) }, Mov { destination: Relative(12), source: Relative(2) }, Mov { destination: Relative(13), source: Direct(32839) }, Mov { destination: Relative(14), source: Relative(2) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(9) }, Call { location: 1337 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(5), source: Relative(11) }, JumpIf { condition: Relative(5), location: 111 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(2) } }, Load { destination: Relative(2), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 117 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 11 }, Mov { destination: Relative(11), source: Direct(0) }, Mov { destination: Relative(12), source: Relative(1) }, Mov { destination: Relative(13), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(10) }, Call { location: 1393 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(12) }, Mov { destination: Relative(9), source: Relative(13) }, BinaryIntOp { destination: Relative(10), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32840) }, JumpIf { condition: Relative(10), location: 132 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(32842) }, Load { destination: Relative(2), source_pointer: Relative(10) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(10), location: 138 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 12 }, Mov { destination: Relative(12), source: Direct(0) }, Mov { destination: Relative(13), source: Relative(1) }, Mov { destination: Relative(14), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(11) }, Call { location: 1449 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(2), source: Relative(13) }, Mov { destination: Relative(10), source: Relative(14) }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Direct(32841) }, JumpIf { condition: Relative(11), location: 151 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Const { destination: Relative(2), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(2) }, Load { destination: Relative(11), source_pointer: Relative(12) }, Const { destination: Relative(10), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(12), op: Equals, lhs: Relative(11), rhs: Relative(10) }, JumpIf { condition: Relative(12), location: 159 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(13) } }, Const { destination: Relative(13), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(13) }, Call { location: 1554 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(11), source: Relative(15) }, Mov { destination: Relative(12), source: Relative(16) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 7 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(13) }, JumpIf { condition: Relative(14), location: 173 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 9 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(11) }, Load { destination: Relative(14), source_pointer: Relative(15) }, Const { destination: Relative(12), bit_size: Field, value: 4 }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(12) }, JumpIf { condition: Relative(15), location: 181 }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(16) } }, Load { destination: Relative(12), source_pointer: Relative(3) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 187 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(12) }, Mov { destination: Relative(12), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32839) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(3) }, BinaryFieldOp { destination: Relative(16), op: Equals, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(16), location: 229 }, Jump { location: 198 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 204 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(14) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(4) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Store { destination_pointer: Relative(12), source: Direct(32841) }, Store { destination_pointer: Relative(15), source: Relative(3) }, Jump { location: 258 }, Load { destination: Relative(5), source_pointer: Relative(3) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 235 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(5) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(14) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Store { destination_pointer: Relative(12), source: Direct(32840) }, Store { destination_pointer: Relative(15), source: Relative(3) }, Jump { location: 258 }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(1), rhs: Direct(32843) }, JumpIf { condition: Relative(3), location: 261 }, Jump { location: 281 }, Load { destination: Relative(5), source_pointer: Relative(12) }, Load { destination: Relative(6), source_pointer: Relative(15) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 269 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(18), source: Direct(32774) }, Store { destination_pointer: Relative(18), source: Direct(32843) }, Store { destination_pointer: Relative(12), source: Relative(8) }, Store { destination_pointer: Relative(15), source: Relative(17) }, Jump { location: 281 }, Load { destination: Relative(5), source_pointer: Relative(12) }, Load { destination: Relative(6), source_pointer: Relative(15) }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 289 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Field, value: 15 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(6) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(18), source: Direct(32773) }, Mov { destination: Relative(19), source: Direct(32774) }, Store { destination_pointer: Relative(19), source: Relative(8) }, Load { destination: Relative(5), source_pointer: Relative(18) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(5) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 305 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(5) }, Const { destination: Relative(5), bit_size: Field, value: 30 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Relative(5) }, Store { destination_pointer: Relative(12), source: Relative(19) }, Store { destination_pointer: Relative(15), source: Relative(20) }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(2) }, JumpIf { condition: Relative(12), location: 321 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(2) }, Load { destination: Relative(12), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(12), rhs: Relative(10) }, JumpIf { condition: Relative(15), location: 327 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(13) }, Load { destination: Relative(12), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(12), rhs: Relative(8) }, JumpIf { condition: Relative(15), location: 333 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(12), bit_size: Integer(U32), value: 8 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, Load { destination: Relative(15), source_pointer: Relative(17) }, BinaryFieldOp { destination: Relative(17), op: Equals, lhs: Relative(15), rhs: Relative(5) }, JumpIf { condition: Relative(17), location: 340 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, Const { destination: Relative(17), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(19) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(18) }, IndirectConst { destination_pointer: Relative(15), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(17) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(18) }, Mov { destination: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(18), source: Direct(32836) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Direct(32836) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Direct(32839) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(15) }, JumpIf { condition: Relative(16), location: 395 }, Jump { location: 364 }, Load { destination: Relative(6), source_pointer: Relative(15) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 370 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(20) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(15) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(4) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(1) }, Store { destination_pointer: Relative(17), source: Direct(32841) }, Store { destination_pointer: Relative(18), source: Relative(6) }, Jump { location: 424 }, Load { destination: Relative(6), source_pointer: Relative(15) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 401 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(20) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(15) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(15) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(1) }, Store { destination_pointer: Relative(17), source: Direct(32840) }, Store { destination_pointer: Relative(18), source: Relative(6) }, Jump { location: 424 }, Load { destination: Relative(6), source_pointer: Relative(17) }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 432 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Relative(5) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(18), source: Relative(20) }, JumpIf { condition: Relative(3), location: 445 }, Jump { location: 463 }, Load { destination: Relative(6), source_pointer: Relative(20) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(6) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 451 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(19), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Direct(32843) }, Store { destination_pointer: Relative(17), source: Relative(6) }, Store { destination_pointer: Relative(18), source: Relative(19) }, Jump { location: 463 }, Load { destination: Relative(6), source_pointer: Relative(17) }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 471 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(21), source: Direct(32774) }, Store { destination_pointer: Relative(21), source: Relative(8) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(18), source: Relative(20) }, Const { destination: Relative(6), bit_size: Field, value: 50 }, JumpIf { condition: Relative(3), location: 503 }, Jump { location: 485 }, Load { destination: Relative(14), source_pointer: Relative(20) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(14) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 491 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(6) }, Store { destination_pointer: Relative(17), source: Relative(14) }, Store { destination_pointer: Relative(18), source: Relative(21) }, Jump { location: 503 }, Load { destination: Relative(14), source_pointer: Relative(17) }, Load { destination: Relative(15), source_pointer: Relative(18) }, Load { destination: Relative(19), source_pointer: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 511 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(19) }, Const { destination: Relative(19), bit_size: Field, value: 60 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(22), source: Direct(32773) }, Mov { destination: Relative(23), source: Direct(32774) }, Store { destination_pointer: Relative(23), source: Relative(19) }, Store { destination_pointer: Relative(17), source: Relative(21) }, Store { destination_pointer: Relative(18), source: Relative(22) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 527 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(2) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(10) }, JumpIf { condition: Relative(15), location: 533 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(13) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(5) }, JumpIf { condition: Relative(15), location: 539 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(12) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(8) }, JumpIf { condition: Relative(15), location: 545 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(11) }, Load { destination: Relative(14), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(14), rhs: Relative(6) }, JumpIf { condition: Relative(15), location: 551 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(14) }, Load { destination: Relative(15), source_pointer: Relative(17) }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(15), rhs: Relative(19) }, JumpIf { condition: Relative(14), location: 558 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(18) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(17), source: Direct(32836) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Direct(32836) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Direct(32839) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(14) }, JumpIf { condition: Relative(16), location: 613 }, Jump { location: 582 }, Load { destination: Relative(18), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 588 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(18) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(4) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(15), source: Direct(32841) }, Store { destination_pointer: Relative(17), source: Relative(14) }, Jump { location: 642 }, Load { destination: Relative(18), source_pointer: Relative(14) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(19), rhs: Relative(18) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 619 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(18), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(18) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(18) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(15), source: Direct(32840) }, Store { destination_pointer: Relative(17), source: Relative(14) }, Jump { location: 642 }, Load { destination: Relative(14), source_pointer: Relative(15) }, Load { destination: Relative(18), source_pointer: Relative(17) }, Load { destination: Relative(19), source_pointer: Relative(18) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(19) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 650 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(19) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(5) }, Store { destination_pointer: Relative(15), source: Relative(19) }, Store { destination_pointer: Relative(17), source: Relative(21) }, JumpIf { condition: Relative(3), location: 663 }, Jump { location: 681 }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 669 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Direct(32843) }, Store { destination_pointer: Relative(15), source: Relative(14) }, Store { destination_pointer: Relative(17), source: Relative(20) }, Jump { location: 681 }, Load { destination: Relative(14), source_pointer: Relative(15) }, Load { destination: Relative(15), source_pointer: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Sub, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1705 }, Mov { destination: Relative(18), source: Direct(32773) }, Mov { destination: Relative(20), source: Direct(32774) }, Load { destination: Relative(19), source_pointer: Relative(20) }, Load { destination: Relative(14), source_pointer: Relative(18) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 696 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Direct(32841) }, JumpIf { condition: Relative(14), location: 702 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(19), rhs: Relative(5) }, JumpIf { condition: Relative(14), location: 706 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, BinaryIntOp { destination: Relative(14), op: Sub, bit_size: U32, lhs: Direct(32841), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1705 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(20), source: Direct(32774) }, Load { destination: Relative(19), source_pointer: Relative(20) }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Direct(32840) }, JumpIf { condition: Relative(18), location: 717 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(19), rhs: Relative(1) }, JumpIf { condition: Relative(14), location: 721 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(20) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(18) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Direct(32836) }, Mov { destination: Relative(18), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Direct(32839) }, Mov { destination: Relative(19), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(14) }, JumpIf { condition: Relative(16), location: 776 }, Jump { location: 745 }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 751 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(15) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(4) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(18), source: Direct(32841) }, Store { destination_pointer: Relative(19), source: Relative(14) }, Jump { location: 805 }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 782 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(21) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(15) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Direct(32836) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(1) }, Store { destination_pointer: Relative(18), source: Direct(32840) }, Store { destination_pointer: Relative(19), source: Relative(14) }, Jump { location: 805 }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(19) }, Load { destination: Relative(17), source_pointer: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 813 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(5) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(21) }, JumpIf { condition: Relative(3), location: 826 }, Jump { location: 859 }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 832 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(20), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Direct(32843) }, Load { destination: Relative(17), source_pointer: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 847 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(22), source: Direct(32773) }, Mov { destination: Relative(23), source: Direct(32774) }, Store { destination_pointer: Relative(23), source: Relative(8) }, Store { destination_pointer: Relative(18), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(22) }, Jump { location: 859 }, Load { destination: Relative(14), source_pointer: Relative(18) }, Load { destination: Relative(15), source_pointer: Relative(19) }, Load { destination: Relative(17), source_pointer: Relative(15) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(17) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 867 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(21), op: LessThanEquals, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, JumpIf { condition: Relative(21), location: 873 }, Call { location: 1742 }, BinaryIntOp { destination: Relative(21), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(17) }, JumpIf { condition: Relative(21), location: 876 }, Call { location: 1745 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(22), op: Mul, bit_size: U32, lhs: Relative(22), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(15) }, Mov { destination: Direct(32772), source: Relative(22) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1748 }, Mov { destination: Relative(21), source: Direct(32774) }, Mov { destination: Relative(23), source: Direct(32775) }, Store { destination_pointer: Relative(23), source: Relative(6) }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 892 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(32838) }, BinaryIntOp { destination: Relative(22), op: LessThanEquals, bit_size: U32, lhs: Relative(17), rhs: Relative(14) }, JumpIf { condition: Relative(22), location: 898 }, Call { location: 1742 }, BinaryIntOp { destination: Relative(22), op: LessThan, bit_size: U32, lhs: Relative(2), rhs: Relative(14) }, JumpIf { condition: Relative(22), location: 901 }, Call { location: 1745 }, Const { destination: Relative(14), bit_size: Field, value: 100 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(24), op: Mul, bit_size: U32, lhs: Relative(24), rhs: Relative(2) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Mov { destination: Direct(32772), source: Relative(24) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1748 }, Mov { destination: Relative(23), source: Direct(32774) }, Mov { destination: Relative(25), source: Direct(32775) }, Store { destination_pointer: Relative(25), source: Relative(14) }, Store { destination_pointer: Relative(18), source: Relative(22) }, Store { destination_pointer: Relative(19), source: Relative(23) }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(13) }, JumpIf { condition: Relative(17), location: 918 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(32841) }, Load { destination: Relative(17), source_pointer: Relative(18) }, BinaryFieldOp { destination: Relative(18), op: Equals, lhs: Relative(17), rhs: Relative(6) }, JumpIf { condition: Relative(18), location: 924 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(32842) }, Load { destination: Relative(17), source_pointer: Relative(18) }, BinaryFieldOp { destination: Relative(18), op: Equals, lhs: Relative(17), rhs: Direct(32836) }, JumpIf { condition: Relative(18), location: 930 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(12) }, Load { destination: Relative(17), source_pointer: Relative(18) }, BinaryFieldOp { destination: Relative(12), op: Equals, lhs: Relative(17), rhs: Relative(5) }, JumpIf { condition: Relative(12), location: 936 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(18) } }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(11) }, Load { destination: Relative(5), source_pointer: Relative(12) }, BinaryFieldOp { destination: Relative(11), op: Equals, lhs: Relative(5), rhs: Relative(14) }, JumpIf { condition: Relative(11), location: 942 }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(12) } }, Const { destination: Relative(11), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(14) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(12) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(11) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(12) }, Mov { destination: Relative(12), source: Relative(11) }, Store { destination_pointer: Relative(12), source: Direct(32836) }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Direct(32836) }, Mov { destination: Relative(11), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Direct(32839) }, Mov { destination: Relative(12), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(5) }, JumpIf { condition: Relative(16), location: 997 }, Jump { location: 966 }, Load { destination: Relative(14), source_pointer: Relative(5) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 972 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(14) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(4) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(1) }, Store { destination_pointer: Relative(11), source: Direct(32841) }, Store { destination_pointer: Relative(12), source: Relative(5) }, Jump { location: 1026 }, Load { destination: Relative(14), source_pointer: Relative(5) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(16), op: Equals, bit_size: U32, lhs: Relative(15), rhs: Relative(14) }, Not { destination: Relative(16), source: Relative(16), bit_size: U1 }, JumpIf { condition: Relative(16), location: 1003 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(17) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(16) }, IndirectConst { destination_pointer: Relative(5), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(16) }, Mov { destination: Relative(16), source: Relative(14) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Direct(32836) }, BinaryIntOp { destination: Relative(16), op: Add, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Store { destination_pointer: Relative(16), source: Relative(1) }, Store { destination_pointer: Relative(11), source: Direct(32840) }, Store { destination_pointer: Relative(12), source: Relative(5) }, Jump { location: 1026 }, Load { destination: Relative(5), source_pointer: Relative(11) }, Load { destination: Relative(11), source_pointer: Relative(12) }, BinaryIntOp { destination: Relative(12), op: LessThan, bit_size: U32, lhs: Direct(32839), rhs: Relative(5) }, JumpIf { condition: Relative(12), location: 1031 }, Call { location: 1745 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(15), op: Mul, bit_size: U32, lhs: Relative(15), rhs: Direct(32839) }, BinaryIntOp { destination: Relative(12), op: Sub, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(18) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Load { destination: Relative(16), source_pointer: Relative(17) }, Mov { destination: Direct(32771), source: Relative(11) }, Mov { destination: Direct(32772), source: Relative(15) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1817 }, Mov { destination: Relative(14), source: Direct(32774) }, Load { destination: Relative(5), source_pointer: Relative(14) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(11), rhs: Relative(5) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 1049 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(5) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(12) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(14) }, BinaryFieldOp { destination: Relative(18), op: Equals, lhs: Relative(16), rhs: Relative(4) }, JumpIf { condition: Relative(18), location: 1061 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, JumpIf { condition: Relative(3), location: 1063 }, Jump { location: 1081 }, Load { destination: Relative(11), source_pointer: Relative(14) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(11) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1069 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(12), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(18), source: Direct(32774) }, Store { destination_pointer: Relative(18), source: Direct(32843) }, Store { destination_pointer: Relative(5), source: Relative(11) }, Store { destination_pointer: Relative(15), source: Relative(17) }, Jump { location: 1081 }, Load { destination: Relative(11), source_pointer: Relative(5) }, Load { destination: Relative(12), source_pointer: Relative(15) }, Load { destination: Relative(14), source_pointer: Relative(12) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(14) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 1089 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(12) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(17), source: Direct(32773) }, Mov { destination: Relative(18), source: Direct(32774) }, Store { destination_pointer: Relative(18), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(14) }, Store { destination_pointer: Relative(15), source: Relative(17) }, JumpIf { condition: Relative(3), location: 1120 }, Jump { location: 1102 }, Load { destination: Relative(3), source_pointer: Relative(17) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1108 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(6) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Store { destination_pointer: Relative(15), source: Relative(11) }, Jump { location: 1120 }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 1125 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1393 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(16) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32835), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1137 }, Call { location: 1745 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32840) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(6), rhs: Direct(32836) }, JumpIf { condition: Relative(8), location: 1143 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(11) } }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32838), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1146 }, Call { location: 1745 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32841) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 1152 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32839) }, JumpIf { condition: Relative(5), location: 1156 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1449 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(16) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32839), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1168 }, Call { location: 1745 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 1174 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 1178 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 14 }, Mov { destination: Relative(14), source: Direct(0) }, Mov { destination: Relative(15), source: Relative(1) }, Mov { destination: Relative(16), source: Relative(10) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(6) }, Call { location: 1554 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(3), source: Relative(15) }, Mov { destination: Relative(5), source: Relative(16) }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Direct(32839), rhs: Relative(3) }, JumpIf { condition: Relative(6), location: 1190 }, Call { location: 1745 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32842) }, Load { destination: Relative(6), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(6), rhs: Relative(10) }, JumpIf { condition: Relative(5), location: 1196 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(8) } }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32840) }, JumpIf { condition: Relative(5), location: 1200 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, Load { destination: Relative(3), source_pointer: Relative(7) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1206 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 256 }, Const { destination: Relative(8), bit_size: Integer(U1), value: 0 }, Mov { destination: Relative(6), source: Direct(1) }, Const { destination: Relative(11), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(11) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 32 }, BlackBox(ToRadix { input: Relative(1), radix: Relative(3), output_pointer: Relative(11), num_limbs: Relative(12), output_bits: Relative(8) }), BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(1), rhs: Direct(32836) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Direct(32840) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Direct(32840), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(9) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(12), source: Direct(32773) }, Mov { destination: Relative(14), source: Direct(32774) }, Store { destination_pointer: Relative(14), source: Relative(10) }, JumpIf { condition: Relative(3), location: 1259 }, Jump { location: 1233 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1239 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(3) }, Load { destination: Relative(3), source_pointer: Relative(12) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(3) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1247 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(12), source: Relative(3) }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(11), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(12) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(9), source: Direct(32773) }, Mov { destination: Relative(14), source: Direct(32774) }, Store { destination_pointer: Relative(14), source: Relative(4) }, Store { destination_pointer: Relative(1), source: Relative(3) }, Store { destination_pointer: Relative(8), source: Relative(9) }, Jump { location: 1270 }, Load { destination: Relative(3), source_pointer: Relative(9) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1265 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(3) }, Store { destination_pointer: Relative(1), source: Relative(11) }, Store { destination_pointer: Relative(8), source: Relative(12) }, Jump { location: 1270 }, Load { destination: Relative(3), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(5), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Direct(32842) }, JumpIf { condition: Relative(5), location: 1276 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32840) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 1282 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32841) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Direct(32836) }, JumpIf { condition: Relative(5), location: 1288 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(5), op: Equals, lhs: Relative(3), rhs: Relative(4) }, JumpIf { condition: Relative(5), location: 1294 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(6) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(2) }, Load { destination: Relative(3), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(3), rhs: Relative(10) }, JumpIf { condition: Relative(2), location: 1300 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(1), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(1), location: 1306 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Load { destination: Relative(1), source_pointer: Relative(7) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(3), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(3), source: Relative(3), bit_size: U1 }, JumpIf { condition: Relative(3), location: 1312 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 8 }, Mov { destination: Relative(8), source: Direct(0) }, Mov { destination: Relative(9), source: Direct(32840) }, Mov { destination: Relative(10), source: Relative(7) }, Mov { destination: Relative(11), source: Direct(32840) }, Mov { destination: Relative(12), source: Relative(7) }, BinaryIntOp { destination: Direct(0), op: Add, bit_size: U32, lhs: Direct(0), rhs: Relative(3) }, Call { location: 1337 }, Mov { destination: Direct(0), source: Relative(0) }, Mov { destination: Relative(1), source: Relative(9) }, JumpIf { condition: Relative(1), location: 1327 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1333 }, 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, Call { location: 1328 }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1344 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(4) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(6) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 1352 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(6) }, Load { destination: Relative(6), source_pointer: Relative(2) }, Const { destination: Relative(10), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(11), op: Equals, bit_size: U32, lhs: Relative(10), rhs: Relative(6) }, Not { destination: Relative(11), source: Relative(11), bit_size: U1 }, JumpIf { condition: Relative(11), location: 1364 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(6) }, Mov { destination: Relative(5), source: Direct(32835) }, Jump { location: 1368 }, BinaryIntOp { destination: Relative(6), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(1) }, JumpIf { condition: Relative(6), location: 1373 }, Jump { location: 1371 }, Load { destination: Relative(1), source_pointer: Relative(9) }, Return, Load { destination: Relative(7), source_pointer: Relative(9) }, JumpIf { condition: Relative(6), location: 1376 }, Call { location: 1745 }, Const { destination: Relative(10), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(10) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(10) }, BinaryIntOp { destination: Relative(8), op: LessThan, bit_size: U32, lhs: Relative(5), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 1383 }, Call { location: 1745 }, Const { destination: Relative(11), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(11) }, BinaryIntOp { destination: Relative(11), op: Add, bit_size: U32, lhs: Relative(10), rhs: Relative(5) }, Load { destination: Relative(8), source_pointer: Relative(11) }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(6), rhs: Relative(8) }, BinaryIntOp { destination: Relative(6), op: Mul, bit_size: U1, lhs: Relative(7), rhs: Relative(10) }, Store { destination_pointer: Relative(9), source: Relative(6) }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(32838) }, Mov { destination: Relative(5), source: Relative(6) }, Jump { location: 1368 }, Call { location: 1328 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 2 }, 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: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1443 }, Jump { location: 1413 }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(1), rhs: Direct(32843) }, JumpIf { condition: Relative(8), location: 1437 }, Jump { location: 1416 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(5), rhs: Relative(9) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(5) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, Mov { destination: Relative(6), source: Direct(32840) }, Mov { destination: Relative(7), source: Relative(1) }, Jump { location: 1440 }, Mov { destination: Relative(6), source: Direct(32839) }, Mov { destination: Relative(7), source: Relative(5) }, Jump { location: 1440 }, Mov { destination: Relative(3), source: Relative(6) }, Mov { destination: Relative(4), source: Relative(7) }, Jump { location: 1446 }, Mov { destination: Relative(3), source: Direct(32839) }, Mov { destination: Relative(4), source: Relative(5) }, Jump { location: 1446 }, Mov { destination: Relative(1), source: Relative(3) }, Mov { destination: Relative(2), source: Relative(4) }, Return, Call { location: 1328 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1514 }, Jump { location: 1475 }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1481 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Const { destination: Relative(6), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(9) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(8), source: Relative(6) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Direct(32836) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(2) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(3) }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(6), op: Equals, bit_size: U32, lhs: Relative(2), rhs: Relative(1) }, Not { destination: Relative(6), source: Relative(6), bit_size: U1 }, JumpIf { condition: Relative(6), location: 1509 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32841) }, Store { destination_pointer: Relative(5), source: Relative(3) }, Jump { location: 1551 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1520 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1546 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1551 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Call { location: 1328 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(6), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Mov { destination: Relative(3), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(5) }, IndirectConst { destination_pointer: Relative(3), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(3), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(4) }, Const { destination: Relative(5), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(5) }, Mov { destination: Relative(5), source: Relative(4) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(5), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Direct(32836) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Direct(32839) }, Mov { destination: Relative(5), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(5), source: Relative(3) }, BinaryFieldOp { destination: Relative(6), op: Equals, lhs: Relative(1), rhs: Relative(2) }, JumpIf { condition: Relative(6), location: 1609 }, Jump { location: 1580 }, Mov { destination: Relative(1), source: Direct(32835) }, Jump { location: 1582 }, BinaryIntOp { destination: Relative(2), op: LessThan, bit_size: U32, lhs: Relative(1), rhs: Direct(32842) }, JumpIf { condition: Relative(2), location: 1586 }, Jump { location: 1585 }, Jump { location: 1646 }, Load { destination: Relative(2), source_pointer: Relative(4) }, Load { destination: Relative(3), source_pointer: Relative(5) }, Load { destination: Relative(6), source_pointer: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(7), rhs: Relative(6) }, Not { destination: Relative(8), source: Relative(8), bit_size: U1 }, JumpIf { condition: Relative(8), location: 1594 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(6), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(6) }, Cast { destination: Relative(6), source: Relative(1), bit_size: Field }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(3) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1649 }, Mov { destination: Relative(9), source: Direct(32773) }, Mov { destination: Relative(10), source: Direct(32774) }, Store { destination_pointer: Relative(10), source: Relative(6) }, Store { destination_pointer: Relative(4), source: Relative(8) }, Store { destination_pointer: Relative(5), source: Relative(9) }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(32838) }, Mov { destination: Relative(1), source: Relative(2) }, Jump { location: 1582 }, Load { destination: Relative(2), 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(2) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1615 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(3), source: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(3), rhs: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(7) }, IndirectConst { destination_pointer: Relative(2), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(3) }, Const { destination: Relative(7), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(2), rhs: Relative(7) }, Mov { destination: Relative(7), source: Relative(3) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Direct(32836) }, BinaryIntOp { destination: Relative(7), op: Add, bit_size: U32, lhs: Relative(7), rhs: Direct(2) }, Store { destination_pointer: Relative(7), source: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(7), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(1) }, Not { destination: Relative(7), source: Relative(7), bit_size: U1 }, JumpIf { condition: Relative(7), location: 1641 }, Call { location: 1334 }, BinaryIntOp { destination: Relative(1), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Direct(32840) }, Store { destination_pointer: Relative(5), source: Relative(2) }, Jump { location: 1646 }, Load { destination: Relative(1), source_pointer: Relative(4) }, Load { destination: Relative(2), source_pointer: Relative(5) }, Return, Load { destination: Direct(32775), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: LessThanEquals, bit_size: U32, lhs: Direct(32779), rhs: Direct(32777) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32775), rhs: Direct(2) }, JumpIf { condition: Direct(32780), location: 1660 }, Jump { location: 1677 }, JumpIf { condition: Direct(32781), location: 1662 }, Jump { location: 1666 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, Jump { location: 1676 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32783) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32782) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32777) }, Jump { location: 1676 }, Jump { location: 1689 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32782), op: Mul, bit_size: U32, lhs: Direct(32779), rhs: Direct(32783) }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(32784) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32779) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32782) }, Jump { location: 1689 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, JumpIf { condition: Direct(32781), location: 1703 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32776) }, Mov { destination: Direct(32784), source: Direct(32778) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1703 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1696 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32776) }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1714 }, Jump { location: 1718 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 1740 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1739 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1732 }, Jump { location: 1740 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32776), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Load { destination: Direct(32778), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32781), op: LessThanEquals, bit_size: U32, lhs: Direct(32780), rhs: Direct(32778) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, JumpIf { condition: Direct(32781), location: 1759 }, Jump { location: 1776 }, JumpIf { condition: Direct(32782), location: 1761 }, Jump { location: 1765 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, Jump { location: 1775 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32784) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32778) }, Jump { location: 1775 }, Jump { location: 1788 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32783), op: Mul, bit_size: U32, lhs: Direct(32780), rhs: Direct(32784) }, Const { destination: Direct(32785), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32785) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32784) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32783) }, Jump { location: 1788 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32782) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32774) }, JumpIf { condition: Direct(32782), location: 1802 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32785), source: Direct(32779) }, Mov { destination: Direct(32786), source: Direct(32781) }, BinaryIntOp { destination: Direct(32787), op: Equals, bit_size: U32, lhs: Direct(32785), rhs: Direct(32784) }, JumpIf { condition: Direct(32787), location: 1802 }, Load { destination: Direct(32783), source_pointer: Direct(32785) }, Store { destination_pointer: Direct(32786), source: Direct(32783) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, Jump { location: 1795 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Sub, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32786), op: Sub, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32788), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32786), op: LessThan, bit_size: U32, lhs: Direct(32788), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1816 }, Load { destination: Direct(32789), source_pointer: Direct(32788) }, Store { destination_pointer: Direct(32787), source: Direct(32789) }, BinaryIntOp { destination: Direct(32788), op: Sub, bit_size: U32, lhs: Direct(32788), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Sub, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1809 }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1826 }, Jump { location: 1832 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, Jump { location: 1854 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32782) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32781) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1853 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1846 }, Jump { location: 1854 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32783), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32783) }, Mov { destination: Direct(32786), source: Direct(32781) }, Mov { destination: Direct(32787), source: Direct(32782) }, BinaryIntOp { destination: Direct(32788), op: Equals, bit_size: U32, lhs: Direct(32786), rhs: Direct(32785) }, JumpIf { condition: Direct(32788), location: 1869 }, Load { destination: Direct(32784), source_pointer: Direct(32786) }, Store { destination_pointer: Direct(32787), source: Direct(32784) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1862 }, Return]" ], - "debug_symbols": "rd3Rrt02kgXQf/GzH0SyqljMrwSNhjtxGgYMJ3AnAwyC/PuoitzczgBHSPPmpblu3HeXjqTiESUZ/v3djx//9du///npy08//+fdd9///u5fXz99/vzp3//8/PMPH3799POX+7/+/u6K/6ny7rvy/l3VOdgc+hx8DiOHds2hzKHOoc1hprSZ0mZKmyltprSZIndKvYcyhzqHNgeZw50i92Bz6HPwOYwc9JpDmUOdQ5uDzGGm6EzRmaIzRWeKzRSbKTZTbKbYTLGZYneK3kOfg89h5NCvOZQ51Dm0Odwp/R50DjaHPgefw8jBrzmUOdQ5tDnMFJ8pPlN8pvhM8Zky7hS/hzKHOoc2B5mDzsHm0Odwp4x7GDmU61pjWWNdY1ujrFHXaGvsa/Q1rryy8kqcOyVQgQYIoIABHXAgzqX7sJR6AQWoQAMEUMCADkSyBsZCnu2JAkSyBRoQyT2ggAEdiGQPjIXogIkCVKABAihgQCTHzoyOmBgL0RUT0V1XoAINiB6LfRj9MWFABxy4k+vdkSU6ZaIAFWiAAAoY0IFIboGxEN0zUYAKRHIcneiiCQUiOQ5K9NKEA2MhOmoikuNYRFdNNEAABQzogANjIbpsAskDyQPJA8nRbzUOXPTYxJio0WYTBahAAwRQILZwBDrgwFiIhpsoQAUaIIACSC5ILkguSK5IrkiuSK5IrkiuSK5IrkiuCGwIbAhsCGwIbAhsCGwIjEZrV8CBsRCNNlGACjRAAAUMQLIgWZCsSFYkK5IVyYpkRbIiOfqr5bdtASrQAAEUMKADO2csRDdNRHINVKABAihgQAccGAuOQEegI9AR6Ah0BDoCHYGOwGiiiUhugQo0QAAFDOiAA2OiRVtNFKACDRBAAQMiWQIOjIVoq4kCVKABAihgQCRrwIGxEG01EckWqEAk94AAChgQyR5wIJJHXKBdQAEqEJc6V0AABeKyKa/vOuDAWIj+kthj0V8TFWiAAAoY0AEHxoIiWZGsSFYkK5IVyYpkRbIiWZFsSDYk54VeHJ281EsY0AEHxkI02kQBYgvjCEajTQiggAEdcGAsxNfWRAGQ7Eh2JDuSHcmOZEeyI3kgeSB5IHkgeSBwIHAgcCBwrEC5LqAAFYhACwiggAEdcGAsRKNNFKACSC5ILkguSC5ILkguSK5IrkiuSK4IrAisCKwIrAisCGwIbAhsCGzY1OyvHlDAgA44MBayvxIFqEDkeMCADjgwFrKbEgWoQGzhCAiggAEdcGAsZDclCoBAQ6Ah0BBoCDQEGgI7AjsCs60SsaK6AgIoYEAHHBgL0VYTBYhfjxVp9M5EBxwYC9E7EwWoQGxYLFvj22pCAQM64MCY0GiiiQI0QAAFDOiAAwgsCCwIjN6ZiOQWEEABAzrgwFiI3pkoQAUiOZfiAihgQCRrwIFItli5X0ABKhDJPSBAJHvAgA44EMkjbgZcwJ1sV6ACDRDgTrYSMOBOtth10VYTYyHaaiKSYydEW000IJLzZoQCBnQgkuOTRlsloq0mClCBBgiggAEdQLIhuSO5I7kjuSO5I7kjuSO5I7kjuSM5vqQsjk58SU0IoIABHXBgLESjWRzBaLSJCjRAAAUM6IADY8KuCyhABRoggAIGdMABJBckFyQXBBYEFgQWBBYEFgQWBFYERqPZCFSgAQIoYEAHHBgL0WgTSG5IbkhuSG5IbkhuSG5IbkgWJAsCBYGCQEGgIFAQKAgUBCoCFZsa/dWvQAMEUMCADjgwFqK/JiKnBARQwIAOODAWopsm4q5dDVSgAQIoYEAHHBgLjkBHYN4KbAEBFDCgAw6MhWiriQJUAMkDyQPJA8kDydFWPW6IRlsFerTVRAEiOW+MNkAABSLZAh1wYCxEW00UoAKRHDdPo78mFDAgkj3gwFiI/pqIG6VXoAINEEABAzrgwFiI/ppAckNyQ3JDckNyQ3JDckNyQ7IgWZAsSI628hIwoAMOjIVoq4kCVCC2sAYEUMCADjgwFqKtJgpQASQbkg3JhmRDsiHZkNyR3JHckdyR3JHcEdgR2BHYEegIdAQ6Ah2B0WjeAgoY0AEHxkLegU8UoAINQPJA8kDyQPJA8ljJfl1AASrQAAUM6IADCCwILAgsCCwILAJEsgQM6IADYyH6a6IAFWhA5GigAw6MheymRAEq0IDYQgsoYEAHHBgL2U2JAlSgAUgWJAuSBcmC5OyvfEhzAQWoQAMEUMCADiDQEGgINAQaAg2BhkBDoCEw2yoRyR5PkC6gABVogAAKGNABB5DsSHYkO5IdyY5kR7Ij2ZHsSHYkDyQPJA8kDyRnf42AAgZ0wIExMbK/EgWoQAMEUMCADjiA5ILkguSC5ILkaLRxBRQwoAPxWK0ExkI02qiBAlSgAZHcAgpEsgQ64MBYiNYbGihAJFugAQIoEMnxHDJabyKS8yHkWIjWmyhAPP+64hPmA7Ap2dIt2+pbvjWgfA42VbZ2Dd01dNfQXUN3Dd01dNfQXcN2Dds1bNewXcMyL46V9S3fGlC/tspW3Wpbuc1xXLtu2Vbf8q0B+bVVtupW29o1fNfwXcN3Dd81fNcYu8bYNcauMXaNsWuMXWPs5LGTB5Lv3XmRhaxkI4XM/JY0spNOjs1ykYWsZCOFZLXCaoXVCqsVVqusVlmtslpltcpqlSUqS+TT7EuSYzOfaC8WspKNFFJJIzvJao3VhNWE1YTVhNWE1YTVhNWE1YTVhNWU1ZTVlNWU1ZTVlNWU1Wbja9LJsTl7fzJzLSmkkkZ20smxOeeAyfwUPVnJRgqppJGddHJsOks4SzhLOEs4SzhLOEs4SzhLzMlgMqt5spKNFFJJIzvp5ADLnAnm+yaNFFJJIzvp5NjMmaBcyUJWspFCKmlkJ32zskS2/3pJppKNFDJLtKSRnXRybOZMsFjISjYyq0lSSSOzmiadzGpxKs/3XRYLWcms1pNCKpnV8hjnTLCY1fII5UwwmTPBYiGjWr7/km/CgEIqGdXqfBWpk06OzZwJFgtZyUYKmdVq0shOZrU8ADk/TOb8kO+/5NsyYCUbmdXyWOT8sGhkJ7NaHoucHybzamGxkJVspJBKGpnV8mjmVLE4NnOqyNdj8q0aMKvlIcypYlFIJaNay0OYU8WikwPMN29KvH1Q8t0bsJKNFFJJIzuZ1Sw5NnMCWSxkJRsppJJGZrWezGojOTZzLlksZCUbme/G5S6Zb8dNGtlJJ8dmziWL+cZdSQqppJGddHJs5qyxWHaJnDUWG8lPIfwUwk8h/BTCT5GzhuRxy1ljsZCVbKSQShrZSZYwljCWMJYwljCWMJYwlsipIl5fKPkS0GLOD4uFzBLzdcdGCqlklsgXIXN+WMwSefbl/DCZ88NiIbNanp45PyxmNU8qaWQns1qenjk/TOb8oHnccn5YrGQjo5rmuZPzw2JU09x9OT8sOjnAfIWoxIPNki8RgVlNko0UUsmslm+J5vyw6OTYzPlhsZCVbGRWyzdLc35YNLKTTo7NnB8WC1nJRrJaZbXKatm8mu+3ZvNOZvMuFrKSjRRSySwxkp10cmxm8y4WspKNjGrxrLfke0OgkZ2MavEUuOT7Q4vZx4uFrGQjhVSSudmmlqdc5691/lrnr2VvWp6I2ZuLTo7N7M3FQlYyq+WZmr25qKSRWS3PvuzNub3Zm5PZm4sZlqdGtt6ikZ10coD5UhFYyEo2Ukgljeykk6yWrWfzbezMHcl8jftKdtLJsZnttFjISjZSSCVZrbJaZbXKao3VGqs1Vmus1hjWGNYYJgwThgnDhGHCTc++iOeeJd8EWsy+WCxkJRsppJJGdpLVjNU6q3VW66zWWa2zWme1zmqd1TqrdVbLdorHsDcbKaSSRnbSybE5mJtfavGIteSbRWAjhVTSyE46OcB80wgsZCUbKaSSRnbSSVYrrFZYrbBaYbXCaoXVCqsVViusVlitslplicoSlSUqS1SWqCxRWaKyxGw9SRayko0UUkkjO+nk2BRWE1YTVhNWE1YTVhNWE1YTVhNWU1ZTVlNWU1ZTVlNWU1ZTVlOWMJaYM4EmhVTSyE46OTbnTDBZyEqyWme1zmqd1TqrdVbrrOas5qzmrOas5qw254f4CtXZ8z0ppJJGdtLJAdp1kYWsZCOzmiez2kga2Uknx+Zs6clCVrKRQjK3MLcwtzK3MrcytzK3Mjf7OF6AKPnqE9hJJ8dm9vFiISvZSCFZrbFaY7XGao3VhNWE1YTVhNWE1YTVhNWE1YTVhNWU1ZTVlNWUJXSW+OOP9+/w10L/+evXjx/jb4V+8/dEv//93S8fvn788uu777789vnz+3f/8+Hzb/l/+s8vH77k+OuHr/ef3qEfv/x4j3fgT58+fwz98Z6/fb3+1Zhg83e77F/Wv/zbNf7iRP76vfQ++P2Sa4MMiFtorxLaQ4LF4ncmmHEHiP31hLK34T7HXyU8fYoaT3tnwr08ffUp7GE/3ucEduQ9UZxsQ5O2t0FOjuW9jLyYoCcJwj0pzV4llIeIe32Fj3Gvr9rJjjDdB8O8vNyI+nA0hmIj7vsVL/dleTip7psQ2Ir7zkM/isin2DPivhd9FtEY0fzNEXK2L3IxuyJ8HEXUa+/O+97rWURjhFxvj9CziN3o7b4BdhTR4gnUjGj17NRqwggZb47Qs/Oi9X1e3LcLXkXUh3nzvirH7rxpZxFt7IjXB/UxQnen3tfwhxGyt+K+Mj+L8LYjxnUUYdfeim+/Cv+rCH4QO/wg5nVHjLMTXOqetZ6+iR4jlBHqb46wdhYRK4gV4frmiFGOIvTas9Z98+DtEWdTju5Ove8Vvzyo8vDNfi8isS9u+llELTvi9fT7HMET3MdZxGh7K4ac7YvR96w1Xp9azxEDR+ReDx9txb1i1h3x+mv5OcIY4YcRA19F91K7HEWUPeXci3E9izBG9LNmV989ct9rOIrgeuh+ttLfHNHqWcRe190PcOTNEXZ2xWe8RLm/ld4ecfY90nn128v19oizL8TOlUA/XEx8G3G4mOjKD+IvI2JGeNlm1fasdT+4P4vY11o3x1FEkz3l3A85zyLG3gp5/W32GCF7SXPfA+tnEVZ2hB1uheNr+b6PVo8ieHFw315rZxHxNHJFHJ5aOnaEHR4Ra7Yj9OzsNH4hPtwCeY4YO6JfZ53q176V46/ni7ih/HIrOndnH+Mowss+wb2cbYXve1L3BH4WMereitH6WQTbbLy++n2OGPv6YoyjrehXwdnZr1bOIvbdtX6Zn0Xsie/+PtSjiLJP8F6vs6sc130LxO0wwhlxeGvs24hxdsU39rK/jdLfHFHPLpTGnvjaOLw4+DZCzy6UBm9Wjl7fHnF2ULmwkuv1/YvxdIK3vU69Wc8i9uOdft/uO4sYe76QchYhsrdCXl/GP0bwBl3XcrYvtPqOeD2DP0cII1TPIvZiouvr+eIxwsqOuJ/NnkXsZ0394RLlOWJfg3fzo2aXS9gjpmcPenyvR67r9XzxlCFc90t5eCjwnLFnjJunGerMsLdn9HKYMcrOGPUww5UZ7W/I8LOMui8epdbTjN31UvvhZ+ED5punGW7MkL8hY5xltILJ4157nmaw9ZsfnmNy7fNUrsOMti8i74z2N2QcnmOylxcir5daj0/N9wq8PK73ysOcPvi1MM5eQej70WbpD+dGe/ha8Gtn+FUfPok83Neu+3tB6+Bceq8f/5zxtILuXPJ18dcZj59lX8/6JfVoj+5LuNLtYY/6w1aUvc7x0u0soxbsUa9VD7djz+henh5kPW7Hvifs1U4z9jWtt3KY0VrbGXJ4XJoxo5e/IePw2LZ9W+GmvznjaSZ9zJDSd8bpOfZtRjvcp1ywuGj7GzIO96n0ujP8+hsy7GgG6pyBHq4H9WEuda6cbo7DDJ7p2k9eVmzN9oP09s07XX/93bSaLyJnQi3frnpOAuq3zyn/ckCt+9W22tpJwD4UtX7zpuJ/EaAM+Hat89cD9tLx3oL+1i149RHK0+3xvq+D/3Rb+q9ugeh+9H6zHJyL95ywV4wPL/s8Jdi1E6wcbYPVvRowOUpw3de+d38eJeyT4X6GdPLSqoz9TFKGnCX0vQ1jnFz3Kl//1Ye1+2PC3gYtfvIptF6+r3mvcZQgTFA/SthPI++wkzlaG1/Fa//vVbx/3D99+OHT1z/9U0x/RNbXTx/+9fnj+vGn37788M2f/vq/v+BP8E85/fL15x8+/vjb14+RFH82/z0neffd9/eB7O/vZUz9x/t3PX7u92q3dBn3z54/q70v91Xo/fOIn73q/XPv98/xdzy+L+2+z3gvClr8hzJ/47oTtP7jj/gI/wc=", + "debug_symbols": "rd3Rrt02kgXQf/FzHlQssljMrwSNwEmchgHDCdzJAIMg/z6qIje3M8AR0rx5aa4b992lI6l4REmG/3j304cffv/39x8///zLf959+90f73748vHTp4///v7TLz++/+3jL5/v//rHuyv+p9R338o370qbg82hz8HnMHLQaw4yhzIHncNM0ZmiM0Vnis4UnSn1Tin3IHMoc9A51DncKfUebA59Dj6HkUO75iBzKHPQOdQ5zJQ2U9pMaTOlzRSbKTZTbKbYTLGZYjPF7pR2D30OPoeRQ7/mIHMoc9A53Cn9HtocbA59Dj6HkYNfc5A5lDnoHGaKzxSfKT5TfKb4TBl3it+DzKHMQedQ59DmYHPoc7hTxj2MHOS61ihrLGvUNdY1tjXaGvsafY0rT1aexLkjgQIoUIEGGNABB+Jcug+LlAsQoAAKVKABBnQgkltgLOTZnhAgki2gQCT3QAMM6EAke2AsRAdMCFAABSrQAAMiOXZmdMTEWIiumIjuugIFUCB6LPZh9MeEAR1w4E4ud0dKdMqEAAVQoAINMKADkayBsRDdMyFAASI5jk500UQDIjkOSvTShANjITpqIpLjWERXTShQgQYY0AEHxkJ02QSSB5IHkgeSo99KHLjosYkxUaLNJgQogAIVaEBs4Qh0wIGxEA03IUABFKhAA5AsSBYkC5ILkguSC5ILkguSC5ILkguSCwIVgYpARaAiUBGoCFQERqPpFXBgLESjTQhQAAUq0AADkFyRXJHckNyQ3JDckNyQ3JDckBz9pfltK0ABFKhAAwzowM4ZC9FNE5FcAgVQoAINMKADDowFR6Aj0BHoCHQEOgIdgY5AR2A00UQka6AAClSgAQZ0wIExodFWEwIUQIEKNMCASK4BB8ZCtNWEAAVQoAINMCCSW8CBsRBtNRHJFihAJPdABRpgQCR7wIFIHnGBdgECFCAuda5ABRoQl015fdcBB8ZC9FeNPRb9NVEABSrQAAM64MBYaEhuSG5IbkhuSG5IbkhuSG5Ibkg2JBuS80Ivjk5e6iUM6IADYyEabUKA2MI4gtFoExVogAEdcGAsxNfWhABIdiQ7kh3JjmRHsiPZkTyQPJA8kDyQPBA4EDgQOBA4VmC9LkCAAkSgBSrQAAM64MBYiEabEKAASBYkC5IFyYJkQbIguSC5ILkguSCwILAgsCCwILAgUBGoCFQEKjY1+6sHGmBABxwYC9lfCQEKEDkeMKADDoyF7KaEAAWILRyBCjTAgA44MBaymxICINAQaAg0BBoCDYGGwI7AjsBsq0SsqK5ABRpgQAccGAvRVhMCxK/HijR6Z6IDDoyF6J0JAQoQGxbL1vi2mmiAAR1wYEy0aKIJARSoQAMM6IADCBQECgKjdyYiWQMVaIABHXBgLETvTAhQgEjOpXgFGmBAJLeAA5FssXK/AAEKEMk9UIFI9oABHXAgkkfcDLiAO9muQAEUqMCdbBIw4E622HXRVhNjIdpqIpJjJ0RbTSgQyXkzogEGdCCS45NGWyWirSYEKIACFWiAAR1AsiG5I7kjuSO5I7kjuSO5I7kjuSO5Izm+pCyOTnxJTVSgAQZ0wIGxEI1mcQSj0SYKoEAFGmBABxwYE3ZdgAAFUKACDTCgAw4gWZAsSBYECgIFgYJAQaAgUBBYEBiNZiNQAAUq0AADOuDAWIhGm0CyIlmRrEhWJCuSFcmKZEVyRXJFYEVgRWBFYEVgRWBFYEVgQ2DDpkZ/9SugQAUaYEAHHBgL0V8TkSOBCjTAgA44MBaimybirl0JFECBCjTAgA44MBYcgY7AvBWogQo0wIAOODAWoq0mBCgAkgeSB5IHkgeSo6163BCNtgr0aKsJASI5b4wqUIEGRLIFOuDAWIi2mhCgAJEcN0+jvyYaYEAke8CBsRD9NRE3Sq9AARSoQAMM6IADYyH6awLJimRFsiJZkaxIViQrkhXJFckVyRXJ0VYuAQM64MBYiLaaEKAAsYUlUIEGGNABB8ZCtNWEAAVAsiHZkGxINiQbkg3JHckdyR3JHckdyR2BHYEdgR2BjkBHoCPQERiN5hpogAEdcGAs5B34hAAFUADJA8kDyQPJA8ljJft1AQIUQIEGGNABBxAoCBQECgIFgVKBSK4BAzrgwFiI/poQoAAKRE4LdMCBsZDdlBCgAArEFlqgAQZ0wIGxkN2UEKAACiC5IrkiuSK5Ijn7Kx/SXIAABVCgAg0woAMINAQaAg2BhkBDoCHQEGgIzLZKRLLHE6QLEKAAClSgAQZ0wAEkO5IdyY5kR7Ij2ZHsSHYkO5IdyQPJA8kDyQPJ2V8j0AADOuDAmBjZXwkBCqBABRpgQAccQLIgWZAsSBYkR6ONK9AAAzoQj9UkMBai0UYJCFAABSJZAw2I5BrogANjIVpvtIAAkWwBBSrQgEiO55DRehORnA8hx0K03oQA8fzrik+YD8Cm6lbbsq2+5VsDyudgU7K1a7Rdo+0abddou0bbNdqu0XYN2zVs17Bdw3YNy7w4Vta3fGtA/dqSrbKlW7nNcVx727KtvuVbA/JrS7bKlm7tGr5r+K7hu4bvGr5rjF1j7Bpj1xi7xtg1xq4xdvLYyQPJ9+68SCELqWQlM1+TRnbSybEpFylkIZWsJKsJqwmrCasJqxVWK6xWWK2wWmG1whKFJfJp9lWTYzOfaC8KWUglK9lIIzvJaspqldUqq1VWq6xWWa2yWmW1ymqV1SqrNVZrrNZYrbFaY7XGao3VZuO3pJNjc/b+ZOZaspKNNLKTTo7NOQdM5qfoyUIqWclGGtlJJ8ems4SzhLOEs4SzhLOEs4SzhLPEnAwms5onC6lkJRtpZCedHKDMmWC+b6JkJRtpZCedHJs5E8iVFLKQSlaykUZ20jcLS2T7r5dkCqlkJbOEJo3spJNjM2eCRSELqWRWq8lGGpnVWtLJrBan8nzfZVHIQma1nqxkI7NaHuOcCRazWh6hnAkmcyZYFDKq5fsv+SYMWMlGRrUyX0XqpJNjM2eCRSELqWQls1pJGtnJrJYHIOeHyZwf8v2XfFsGLKSSWS2PRc4Pi0Z2Mqvlscj5YTKvFhaFLKSSlWykkVktj2ZOFYtjM6eKfD0m36oBs1oewpwqFivZyKimeQhzqlh0coD55o3E2weS796AhVSyko00spNZzZJjMyeQRSELqWQlG2lkVuvJrDaSYzPnkkUhC6lkvhuXu2S+HTdpZCedHJs5lyzmG3eSrGQjjeykk2MzZ41F2SVy1lhUkp+i8lNUforKT1H5KXLWqHncctZYFLKQSlaykUZ2kiWMJYwljCWMJYwljCWMJXKqiNcXJF8CWsz5YVHILDFfd1Syko3MEvkiZM4Pi1kiz76cHyZzflgUMqvl6Znzw2JW82QjjexkVsvTM+eHyZwfWh63nB8WC6lkVGt57uT8sBjVWu6+nB8WnRxgvkIk8WBT8iUiMKvVpJKVbGRWy7dEc35YdHJs5vywKGQhlcxq+WZpzg+LRnbSybGZ88OikIVUktUKqxVWy+Zt+X5rNu9kNu+ikIVUspKNzBIj2Uknx2Y276KQhVQyqsWzXsn3hkAjOxnV4imw5PtDi9nHi0IWUslKNpK52aaWp1znr3X+WuevZW9anojZm4tOjs3szUUhC5nV8kzN3lxspJFZLc++7M25vdmbk9mbixmWp0a23qKRnXRygPlSEShkIZWsZCON7KSTrJatZ/Nt7MwdyXyN+0p20smxme20KGQhlaxkI1mtsFphtcJqymrKaspqymrZF/F8UvLNH7CQSlaykUZ20smxaaxmrGasZqxmrGasZqxmrGasZqzWWa2zWn7VxeNSyZeDQCM76eTYzMZZFJK52TjxKPRmJRtpZCedHJvZOItCFpLVBqsNVhusNlhtsNrY1fJNI1DIQipZyUYa2UknWU1YTVhNWE1YQlhCWEJYQlhCWKKwRGGJ2Xo1qWQlG2lkJ50cm7P1JoVkNWU1ZTVlNWU1ZTVlNWW1ymqV1SqrVVarrFZZrbJaZbXKapXVGks0lpgzQUsa2Uknx+acCSaFLKSSlWQ1YzVjNWM1Y7XOap3VOqt1Vuus1lmts9qcH+Krrs2e70kjO+nk2JwtPSkkw2ZLT1aykVnNk1ltJJ0coM2WnhSykEpWspFGMleYK8wV5gpzhbnCXGFu9nG8qCD5qhM4NrOPF4UspJKVbKSRrFZYrbCaspqymrKaspqymrKaspqymrKaslpltcpqldUqq1VWqyxRZ4k///zmHf765ve/ffnwIf725ld/n/O7P979+v7Lh8+/vfv28++fPn3z7n/ef/o9/0//+fX95xx/e//l/tM79MPnn+7xDvz546cPoT+/4W9fr381Jtj83V73L7e//dsl/oJD/vq9RD74fclr+AyIW12vEvQhwWKROhPMuAOq/f0E2dtwn4uvEp4+RYmnsjPhXka++hT2sB/v+4fYkfdEcbINWnVvQz05lvdy72JCO0mo3JNV7VWCPETc6yB8jHsdpCc7wto+GObyciPKw9EYDRtx31d4uS/l4aS6bxZgK+47BP0oIp82z4j7nvFZhDJC/c0R9Wxf5KJzRfg4iijX3p33PdKzCGVEvd4e0c4idqPrfaPqKELjSdGM0HJ2amllRB1vjmhn54X2fV7cy/pXEeVh3ryvnrE7b9pZhI4d8fqgPka03an3ZfdhRN1bcV9Bn0W47ohxHUXYtbfi66/C/yqCH8QOP4h52RHj7ASvZc9aT99EjxGNEc3fHGF6FhEriBXh7c0RQ44i2rVnrSb69oizKaftTr3v6b48qPXhm735hX1x088iiuyI19PvcwRPcB9nEUP3Vox6ti9G37PWeH1qPUcMHJF73Xq0FffKtu2I11/LzxHGCD+MGPgquhfKchQhe8q5l9LtLMIY0c+avfnukfuewFEE10P3M5D+5ggtZxF7XXc/aKlvjrCzKz7jJcr9rfT2iLPvkc6r3y7X2yPOvhA7VwL9cDHxdcThYqI3fhB/GREzwss2K7ZnrfsB+1nEvta6OY4itO4p534YeRYx9lbU199mjxF1L2nue1X9LMJkR9jhVji+lu1+enEUwYsDa03PIuKp4Yo4PLXa2BF2eERMbUe0s7PT+IX4cAvkOWLsiH6ddapf+1aOv54v4obyy63o3J19jKMIl32Cu5xthe97UvcEfhYxyt6Kof0sgm02Xl/9PkeMfX0xxtFW9EtwdvZL5Sxi313rl/lZxJ747u/DdhQh+wTv5Tq7yvG2b4G4HUY4Iw5vjX0dMc6u+MZe9uuQ/uaIcnahNPbEp+Pw4uDriHZ2oTR4s3L08vaIs4PKhVW9Xt+/GE8nuO516s1yFrEf7/T7dt9ZxNjzRZWziFr3VtTXl/GPEbxB15uc7YtWfEe8nsGfIyojWjuL2IuJ3l7PF48RJjvifoZ6FrGfNfWHS5TniH0N3s2Pmr1elT1i7exBj+/1yHW9ni+eMirX/VUeHgo8Z+wZ4+ZpRnNm2NszuhxmDNkZoxxmeGOG/gMZfpZR9sVjLeU0Y3d9Lf3ws/AB883TDDdm1H8gY5xlqGDyuNeepxlsffXDc6xe+zyt12GG7ovIO0P/gYzDc6zu5UWtr5daj0/N9wpcHtd78jCnD34tjLNXEPp+tCn94dzQh68Fv3aGX+Xhk9SH+9plfy+0MjiX3uvHv2Y8raA7l3y9+uuMx8+yr2f9quVoj+5LOOn2sEf9YStkr3Ncup1lFMEe9VLa4XbsGd3l6UHW43bse8Je7DRjX9O6ymGGqu6Menhc1JjR5R/IODy2um8r3PQ3ZzzNpI8ZVfrOOD3Hvs7Qw33KBYvXpv9AxuE+rb3sDL/+gQw7moE6Z6CH68H2MJc6V043x2EGz/TWT15WVLX9IF2/eqfr77+bVvJF5Ewo8vWq5ySgfP2c8m8HlLJfbSuqJwH7UJTy1ZuK/0VAY8DXa52/H7CXjvcW9LduwauPIE+3x/u+Dv7Lbem/uwW17UfvN+XgXLznhL1ifHjZ5ynBrp1gcrQNVvZqwOpRgrd97Xv351HCPhnuZ0gnL63WsZ9J1lHPEvrehjFOrnsbX/9tD2v3x4S9DU385FO0cvm+5r3GUUJlQvOjhP008g47maOb8lU8/X+v4v3r/un9jx+//OWfTPozsr58fP/Dpw/rx59///zjV3/62//+ij/BP7n065dffvzw0+9fPkRS/Nn8d5fqu2+/k3j9LVZQ//rmXY+f76cd989V7p89f773kbjY/fOIn+8r6vtnG/fP8Tc0vhO97zPeiwKN/yDzN0ok1H/9GR/h/wA=", "file_map": { "5": { "source": "use crate::meta::derive_via;\n\n#[derive_via(derive_eq)]\n// docs:start:eq-trait\npub trait Eq {\n fn eq(self, other: Self) -> bool;\n}\n// docs:end:eq-trait\n\n// docs:start:derive_eq\ncomptime fn derive_eq(s: TypeDefinition) -> Quoted {\n let signature = quote { fn eq(_self: Self, _other: Self) -> bool };\n let for_each_field = |name| quote { (_self.$name == _other.$name) };\n let body = |fields| {\n if s.fields_as_written().len() == 0 {\n quote { true }\n } else {\n fields\n }\n };\n crate::meta::make_trait_impl(\n s,\n quote { $crate::cmp::Eq },\n signature,\n for_each_field,\n quote { & },\n body,\n )\n}\n// docs:end:derive_eq\n\nimpl Eq for Field {\n fn eq(self, other: Field) -> bool {\n self == other\n }\n}\n\nimpl Eq for u128 {\n fn eq(self, other: u128) -> bool {\n self == other\n }\n}\nimpl Eq for u64 {\n fn eq(self, other: u64) -> bool {\n self == other\n }\n}\nimpl Eq for u32 {\n fn eq(self, other: u32) -> bool {\n self == other\n }\n}\nimpl Eq for u16 {\n fn eq(self, other: u16) -> bool {\n self == other\n }\n}\nimpl Eq for u8 {\n fn eq(self, other: u8) -> bool {\n self == other\n }\n}\nimpl Eq for u1 {\n fn eq(self, other: u1) -> bool {\n self == other\n }\n}\n\nimpl Eq for i8 {\n fn eq(self, other: i8) -> bool {\n self == other\n }\n}\nimpl Eq for i16 {\n fn eq(self, other: i16) -> bool {\n self == other\n }\n}\nimpl Eq for i32 {\n fn eq(self, other: i32) -> bool {\n self == other\n }\n}\nimpl Eq for i64 {\n fn eq(self, other: i64) -> bool {\n self == other\n }\n}\n\nimpl Eq for () {\n fn eq(_self: Self, _other: ()) -> bool {\n true\n }\n}\nimpl Eq for bool {\n fn eq(self, other: bool) -> bool {\n self == other\n }\n}\n\nimpl Eq for [T; N]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T; N]) -> bool {\n let mut result = true;\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for [T]\nwhere\n T: Eq,\n{\n fn eq(self, other: [T]) -> bool {\n let mut result = self.len() == other.len();\n for i in 0..self.len() {\n result &= self[i].eq(other[i]);\n }\n result\n }\n}\n\nimpl Eq for str {\n fn eq(self, other: str) -> bool {\n let self_bytes = self.as_bytes();\n let other_bytes = other.as_bytes();\n self_bytes == other_bytes\n }\n}\n\nimpl Eq for (A, B)\nwhere\n A: Eq,\n B: Eq,\n{\n fn eq(self, other: (A, B)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1)\n }\n}\n\nimpl Eq for (A, B, C)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n{\n fn eq(self, other: (A, B, C)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2)\n }\n}\n\nimpl Eq for (A, B, C, D)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n{\n fn eq(self, other: (A, B, C, D)) -> bool {\n self.0.eq(other.0) & self.1.eq(other.1) & self.2.eq(other.2) & self.3.eq(other.3)\n }\n}\n\nimpl Eq for (A, B, C, D, E)\nwhere\n A: Eq,\n B: Eq,\n C: Eq,\n D: Eq,\n E: Eq,\n{\n fn eq(self, other: (A, B, C, D, E)) -> bool {\n self.0.eq(other.0)\n & self.1.eq(other.1)\n & self.2.eq(other.2)\n & self.3.eq(other.3)\n & self.4.eq(other.4)\n }\n}\n\nimpl Eq for Ordering {\n fn eq(self, other: Ordering) -> bool {\n self.result == other.result\n }\n}\n\n// Noir doesn't have enums yet so we emulate (Lt | Eq | Gt) with a struct\n// that has 3 public functions for constructing the struct.\npub struct Ordering {\n result: Field,\n}\n\nimpl Ordering {\n // Implementation note: 0, 1, and 2 for Lt, Eq, and Gt are built\n // into the compiler, do not change these without also updating\n // the compiler itself!\n pub fn less() -> Ordering {\n Ordering { result: 0 }\n }\n\n pub fn equal() -> Ordering {\n Ordering { result: 1 }\n }\n\n pub fn greater() -> Ordering {\n Ordering { result: 2 }\n }\n}\n\n#[derive_via(derive_ord)]\n// docs:start:ord-trait\npub trait Ord {\n fn cmp(self, other: Self) -> Ordering;\n}\n// docs:end:ord-trait\n\n// docs:start:derive_ord\ncomptime fn derive_ord(s: TypeDefinition) -> Quoted {\n let name = quote { $crate::cmp::Ord };\n let signature = quote { fn cmp(_self: Self, _other: Self) -> $crate::cmp::Ordering };\n let for_each_field = |name| quote {\n if result == $crate::cmp::Ordering::equal() {\n result = _self.$name.cmp(_other.$name);\n }\n };\n let body = |fields| quote {\n let mut result = $crate::cmp::Ordering::equal();\n $fields\n result\n };\n crate::meta::make_trait_impl(s, name, signature, for_each_field, quote {}, body)\n}\n// docs:end:derive_ord\n\n// Note: Field deliberately does not implement Ord\n\nimpl Ord for u128 {\n fn cmp(self, other: u128) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\nimpl Ord for u64 {\n fn cmp(self, other: u64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u32 {\n fn cmp(self, other: u32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u16 {\n fn cmp(self, other: u16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for u8 {\n fn cmp(self, other: u8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i8 {\n fn cmp(self, other: i8) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i16 {\n fn cmp(self, other: i16) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i32 {\n fn cmp(self, other: i32) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for i64 {\n fn cmp(self, other: i64) -> Ordering {\n if self < other {\n Ordering::less()\n } else if self > other {\n Ordering::greater()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for () {\n fn cmp(_self: Self, _other: ()) -> Ordering {\n Ordering::equal()\n }\n}\n\nimpl Ord for bool {\n fn cmp(self, other: bool) -> Ordering {\n if self {\n if other {\n Ordering::equal()\n } else {\n Ordering::greater()\n }\n } else if other {\n Ordering::less()\n } else {\n Ordering::equal()\n }\n }\n}\n\nimpl Ord for [T; N]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T; N]) -> Ordering {\n let mut result = Ordering::equal();\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for [T]\nwhere\n T: Ord,\n{\n // The first non-equal element of both arrays determines\n // the ordering for the whole array.\n fn cmp(self, other: [T]) -> Ordering {\n let mut result = self.len().cmp(other.len());\n for i in 0..self.len() {\n if result == Ordering::equal() {\n result = self[i].cmp(other[i]);\n }\n }\n result\n }\n}\n\nimpl Ord for (A, B)\nwhere\n A: Ord,\n B: Ord,\n{\n fn cmp(self, other: (A, B)) -> Ordering {\n let result = self.0.cmp(other.0);\n\n if result != Ordering::equal() {\n result\n } else {\n self.1.cmp(other.1)\n }\n }\n}\n\nimpl Ord for (A, B, C)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n{\n fn cmp(self, other: (A, B, C)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n{\n fn cmp(self, other: (A, B, C, D)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n result\n }\n}\n\nimpl Ord for (A, B, C, D, E)\nwhere\n A: Ord,\n B: Ord,\n C: Ord,\n D: Ord,\n E: Ord,\n{\n fn cmp(self, other: (A, B, C, D, E)) -> Ordering {\n let mut result = self.0.cmp(other.0);\n\n if result == Ordering::equal() {\n result = self.1.cmp(other.1);\n }\n\n if result == Ordering::equal() {\n result = self.2.cmp(other.2);\n }\n\n if result == Ordering::equal() {\n result = self.3.cmp(other.3);\n }\n\n if result == Ordering::equal() {\n result = self.4.cmp(other.4);\n }\n\n result\n }\n}\n\n// Compares and returns the maximum of two values.\n//\n// Returns the second argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::max(1, 2), 2);\n// assert_eq(cmp::max(2, 2), 2);\n// ```\npub fn max(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v1\n } else {\n v2\n }\n}\n\n// Compares and returns the minimum of two values.\n//\n// Returns the first argument if the comparison determines them to be equal.\n//\n// # Examples\n//\n// ```\n// use std::cmp;\n//\n// assert_eq(cmp::min(1, 2), 1);\n// assert_eq(cmp::min(2, 2), 2);\n// ```\npub fn min(v1: T, v2: T) -> T\nwhere\n T: Ord,\n{\n if v1 > v2 {\n v2\n } else {\n v1\n }\n}\n\nmod cmp_tests {\n use crate::cmp::{max, min};\n\n #[test]\n fn sanity_check_min() {\n assert_eq(min(0 as u64, 1 as u64), 0);\n assert_eq(min(0 as u64, 0 as u64), 0);\n assert_eq(min(1 as u64, 1 as u64), 1);\n assert_eq(min(255 as u8, 0 as u8), 0);\n }\n\n #[test]\n fn sanity_check_max() {\n assert_eq(max(0 as u64, 1 as u64), 1);\n assert_eq(max(0 as u64, 0 as u64), 0);\n assert_eq(max(1 as u64, 1 as u64), 1);\n assert_eq(max(255 as u8, 0 as u8), 255);\n }\n}\n", diff --git a/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_9223372036854775807.snap b/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_9223372036854775807.snap index 8517b6bf3c4..7870cd0829e 100644 --- a/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_9223372036854775807.snap +++ b/tooling/nargo_cli/tests/snapshots/execution_success/slices/execute__tests__force_brillig_true_inliner_9223372036854775807.snap @@ -50,9 +50,9 @@ expression: artifact "return value indices : []", "BRILLIG CALL func 0: inputs: [Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(0))], q_c: 0 }), Single(Expression { mul_terms: [], linear_combinations: [(1, Witness(1))], q_c: 0 })], outputs: []", "unconstrained func 0", - "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 1710 }, Const { destination: Relative(5), bit_size: Field, value: 0 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, 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(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Field, value: 10 }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Relative(7) }, JumpIf { condition: Relative(8), location: 37 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(2), source_pointer: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 43 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Relative(7) }, Const { destination: Relative(9), bit_size: Field, value: 20 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, Mov { destination: Relative(11), source: Direct(1) }, 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) }, 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) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(12) }, 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) }, 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(12), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, JumpIf { condition: Relative(2), location: 97 }, Jump { location: 70 }, JumpIf { condition: Relative(10), location: 83 }, Jump { location: 72 }, Load { destination: Relative(15), source_pointer: Relative(11) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 78 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(13) }, Mov { destination: Relative(14), source: Relative(11) }, Jump { location: 94 }, Load { destination: Relative(15), source_pointer: Relative(6) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 89 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(12) }, Mov { destination: Relative(14), source: Relative(6) }, Jump { location: 94 }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(4), source: Relative(14) }, Jump { location: 100 }, Mov { destination: Relative(3), source: Relative(12) }, Mov { destination: Relative(4), source: Relative(6) }, Jump { location: 100 }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 106 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(13) }, JumpIf { condition: Relative(8), location: 112 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Const { destination: Relative(3), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Load { destination: Relative(8), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(8), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 119 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Load { destination: Relative(4), source_pointer: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(4) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 125 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(12) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 4 }, JumpIf { condition: Relative(2), location: 167 }, Jump { location: 136 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 142 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(18) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(8) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(7) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Relative(16) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Jump { location: 196 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 173 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(18) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(8) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Relative(13) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Jump { location: 196 }, Load { destination: Relative(6), source_pointer: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(15) }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 204 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(16) }, JumpIf { condition: Relative(8), location: 210 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(15) }, Const { destination: Relative(4), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(8), rhs: Relative(4) }, JumpIf { condition: Relative(15), location: 218 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(18) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(5) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, JumpIf { condition: Relative(2), location: 273 }, Jump { location: 244 }, Mov { destination: Relative(8), source: Relative(18) }, Jump { location: 246 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, JumpIf { condition: Relative(14), location: 250 }, Jump { location: 249 }, Jump { location: 302 }, Load { destination: Relative(14), source_pointer: Relative(15) }, Load { destination: Relative(20), source_pointer: Relative(17) }, Load { destination: Relative(21), source_pointer: Relative(20) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(21) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 258 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(21) }, Cast { destination: Relative(21), source: Relative(8), bit_size: Field }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(25), source: Direct(32774) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(15), source: Relative(23) }, Store { destination_pointer: Relative(17), source: Relative(24) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(19) }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 246 }, Load { destination: Relative(14), source_pointer: Relative(8) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(14) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 279 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(22) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(21) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(21) }, Mov { destination: Relative(21), source: Relative(14) }, Store { destination_pointer: Relative(21), source: Relative(5) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(5) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(1) }, Store { destination_pointer: Relative(15), source: Relative(13) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Jump { location: 302 }, Load { destination: Relative(8), source_pointer: Relative(15) }, Load { destination: Relative(14), source_pointer: Relative(17) }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 310 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 7 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(15) }, JumpIf { condition: Relative(20), location: 317 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(21) } }, Const { destination: Relative(8), bit_size: Integer(U32), value: 9 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Load { destination: Relative(20), source_pointer: Relative(21) }, Const { destination: Relative(14), bit_size: Field, value: 4 }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(20), rhs: Relative(14) }, JumpIf { condition: Relative(21), location: 325 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(22) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(21) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(20) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(21) }, Mov { destination: Relative(21), source: Relative(20) }, Store { destination_pointer: Relative(21), source: Relative(5) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(5) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, JumpIf { condition: Relative(2), location: 380 }, Jump { location: 349 }, Load { destination: Relative(17), source_pointer: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 355 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(17) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(23) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(23), source: Relative(17) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(7) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(1) }, Store { destination_pointer: Relative(20), source: Relative(16) }, Store { destination_pointer: Relative(21), source: Relative(14) }, Jump { location: 409 }, Load { destination: Relative(17), source_pointer: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 386 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(17) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(23) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(23), source: Relative(17) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(1) }, Store { destination_pointer: Relative(20), source: Relative(13) }, Store { destination_pointer: Relative(21), source: Relative(14) }, Jump { location: 409 }, JumpIf { condition: Relative(10), location: 411 }, Jump { location: 431 }, Load { destination: Relative(14), source_pointer: Relative(20) }, Load { destination: Relative(17), source_pointer: Relative(21) }, Load { destination: Relative(22), source_pointer: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 419 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(25), source: Direct(32774) }, Store { destination_pointer: Relative(25), source: Relative(9) }, Store { destination_pointer: Relative(20), source: Relative(22) }, Store { destination_pointer: Relative(21), source: Relative(24) }, Jump { location: 431 }, Load { destination: Relative(14), source_pointer: Relative(20) }, Load { destination: Relative(17), source_pointer: Relative(21) }, Load { destination: Relative(22), source_pointer: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 439 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(22) }, Const { destination: Relative(22), bit_size: Field, value: 15 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(25), source: Direct(32773) }, Mov { destination: Relative(26), source: Direct(32774) }, Store { destination_pointer: Relative(26), source: Relative(22) }, Load { destination: Relative(14), source_pointer: Relative(25) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(14) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 455 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(14) }, Const { destination: Relative(14), bit_size: Field, value: 30 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(25) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(14) }, Store { destination_pointer: Relative(20), source: Relative(26) }, Store { destination_pointer: Relative(21), source: Relative(27) }, Load { destination: Relative(20), source_pointer: Relative(27) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 473 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(20) }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(6) }, JumpIf { condition: Relative(20), location: 479 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(24) } }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(27), rhs: Relative(6) }, Load { destination: Relative(20), source_pointer: Relative(24) }, BinaryFieldOp { destination: Relative(24), op: Equals, lhs: Relative(20), rhs: Relative(4) }, JumpIf { condition: Relative(24), location: 485 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(27), rhs: Relative(15) }, Load { destination: Relative(20), source_pointer: Relative(24) }, BinaryFieldOp { destination: Relative(24), op: Equals, lhs: Relative(20), rhs: Relative(22) }, JumpIf { condition: Relative(24), location: 491 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, Const { destination: Relative(20), bit_size: Integer(U32), value: 8 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(27), rhs: Relative(20) }, Load { destination: Relative(24), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(24), rhs: Relative(14) }, JumpIf { condition: Relative(25), location: 498 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(27) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(26) }, IndirectConst { destination_pointer: Relative(24), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(26) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(5) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(5) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(24) }, JumpIf { condition: Relative(2), location: 553 }, Jump { location: 522 }, Load { destination: Relative(17), source_pointer: Relative(24) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 528 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(27) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(24) }, IndirectConst { destination_pointer: Relative(17), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(24), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(7) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(16) }, Store { destination_pointer: Relative(26), source: Relative(17) }, Jump { location: 582 }, Load { destination: Relative(17), source_pointer: Relative(24) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 559 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(27) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(24) }, IndirectConst { destination_pointer: Relative(17), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(24), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(13) }, Store { destination_pointer: Relative(26), source: Relative(17) }, Jump { location: 582 }, Load { destination: Relative(17), source_pointer: Relative(25) }, Load { destination: Relative(21), source_pointer: Relative(26) }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 590 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(14) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Store { destination_pointer: Relative(26), source: Relative(27) }, JumpIf { condition: Relative(10), location: 603 }, Jump { location: 621 }, Load { destination: Relative(17), source_pointer: Relative(27) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 609 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(27) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(9) }, Store { destination_pointer: Relative(25), source: Relative(17) }, Store { destination_pointer: Relative(26), source: Relative(24) }, Jump { location: 621 }, Load { destination: Relative(17), source_pointer: Relative(25) }, Load { destination: Relative(21), source_pointer: Relative(26) }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 629 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(22) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Store { destination_pointer: Relative(26), source: Relative(27) }, Const { destination: Relative(17), bit_size: Field, value: 50 }, JumpIf { condition: Relative(10), location: 661 }, Jump { location: 643 }, Load { destination: Relative(21), source_pointer: Relative(27) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(21) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 649 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(27) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(28), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(17) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(26), source: Relative(28) }, Jump { location: 661 }, Load { destination: Relative(21), source_pointer: Relative(25) }, Load { destination: Relative(23), source_pointer: Relative(26) }, Load { destination: Relative(24), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(24) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 669 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(24) }, Const { destination: Relative(24), bit_size: Field, value: 60 }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(29), source: Direct(32773) }, Mov { destination: Relative(30), source: Direct(32774) }, Store { destination_pointer: Relative(30), source: Relative(24) }, Store { destination_pointer: Relative(25), source: Relative(28) }, Store { destination_pointer: Relative(26), source: Relative(29) }, Load { destination: Relative(21), source_pointer: Relative(29) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 687 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(20) }, JumpIf { condition: Relative(21), location: 693 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(6) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(25), location: 699 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(15) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(14) }, JumpIf { condition: Relative(25), location: 705 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(20) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(22) }, JumpIf { condition: Relative(25), location: 711 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(8) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(17) }, JumpIf { condition: Relative(25), location: 717 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, Const { destination: Relative(21), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(21) }, Load { destination: Relative(25), source_pointer: Relative(26) }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(25), rhs: Relative(24) }, JumpIf { condition: Relative(21), location: 724 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, Const { destination: Relative(24), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(26) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(12) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, JumpIf { condition: Relative(2), location: 779 }, Jump { location: 748 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 754 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(7) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(24), source: Relative(16) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Jump { location: 808 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 785 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(24), source: Relative(13) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Jump { location: 808 }, Load { destination: Relative(21), source_pointer: Relative(24) }, Load { destination: Relative(23), source_pointer: Relative(25) }, Load { destination: Relative(26), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(26) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 816 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(26) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(28), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(14) }, Store { destination_pointer: Relative(24), source: Relative(26) }, Store { destination_pointer: Relative(25), source: Relative(28) }, JumpIf { condition: Relative(10), location: 829 }, Jump { location: 847 }, Load { destination: Relative(21), source_pointer: Relative(28) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 835 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(28), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(28) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(9) }, Store { destination_pointer: Relative(24), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(27) }, Jump { location: 847 }, Load { destination: Relative(21), source_pointer: Relative(24) }, Load { destination: Relative(23), source_pointer: Relative(25) }, BinaryIntOp { destination: Relative(24), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1775 }, Mov { destination: Relative(25), source: Direct(32773) }, Mov { destination: Relative(27), source: Direct(32774) }, Load { destination: Relative(26), source_pointer: Relative(27) }, Load { destination: Relative(21), source_pointer: Relative(25) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 862 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(16) }, JumpIf { condition: Relative(21), location: 868 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(27) } }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(26), rhs: Relative(14) }, JumpIf { condition: Relative(21), location: 872 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(24) } }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(25) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1775 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(27), source: Direct(32774) }, Load { destination: Relative(26), source_pointer: Relative(27) }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(13) }, JumpIf { condition: Relative(25), location: 883 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(27) } }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(26), rhs: Relative(1) }, JumpIf { condition: Relative(21), location: 887 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(27) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(26) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(5) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(5) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(21) }, JumpIf { condition: Relative(2), location: 942 }, Jump { location: 911 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 917 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(7) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(16) }, Store { destination_pointer: Relative(26), source: Relative(21) }, Jump { location: 971 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 948 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(13) }, Store { destination_pointer: Relative(26), source: Relative(21) }, Jump { location: 971 }, Load { destination: Relative(21), source_pointer: Relative(25) }, Load { destination: Relative(23), source_pointer: Relative(26) }, Load { destination: Relative(24), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(24) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 979 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(24) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(28), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(14) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(26), source: Relative(28) }, JumpIf { condition: Relative(10), location: 992 }, Jump { location: 1025 }, Load { destination: Relative(21), source_pointer: Relative(28) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 998 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(28), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(28) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(9) }, Load { destination: Relative(24), source_pointer: Relative(27) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(29), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(24) }, Not { destination: Relative(29), source: Relative(29), bit_size: U1 }, JumpIf { condition: Relative(29), location: 1013 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(24) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(27) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(29), source: Direct(32773) }, Mov { destination: Relative(30), source: Direct(32774) }, Store { destination_pointer: Relative(30), source: Relative(22) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(26), source: Relative(29) }, Jump { location: 1025 }, Load { destination: Relative(21), source_pointer: Relative(25) }, Load { destination: Relative(23), source_pointer: Relative(26) }, Load { destination: Relative(24), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(24) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1033 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(24) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(19) }, BinaryIntOp { destination: Relative(28), op: LessThanEquals, bit_size: U32, lhs: Relative(21), rhs: Relative(24) }, JumpIf { condition: Relative(28), location: 1039 }, Call { location: 1812 }, BinaryIntOp { destination: Relative(28), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(24) }, Const { destination: Relative(24), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(28), location: 1043 }, Call { location: 1815 }, Const { destination: Relative(30), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(30), op: Mul, bit_size: U32, lhs: Relative(30), rhs: Relative(19) }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Mov { destination: Direct(32772), source: Relative(30) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1818 }, Mov { destination: Relative(29), source: Direct(32774) }, Mov { destination: Relative(31), source: Direct(32775) }, Store { destination_pointer: Relative(31), source: Relative(17) }, Load { destination: Relative(21), source_pointer: Relative(29) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(30), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(30), source: Relative(30), bit_size: U1 }, JumpIf { condition: Relative(30), location: 1059 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(28), rhs: Relative(19) }, BinaryIntOp { destination: Relative(30), op: LessThanEquals, bit_size: U32, lhs: Relative(28), rhs: Relative(21) }, JumpIf { condition: Relative(30), location: 1065 }, Call { location: 1812 }, BinaryIntOp { destination: Relative(30), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(21) }, JumpIf { condition: Relative(30), location: 1068 }, Call { location: 1815 }, Const { destination: Relative(21), bit_size: Field, value: 100 }, Const { destination: Relative(32), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(32), op: Mul, bit_size: U32, lhs: Relative(32), rhs: Relative(6) }, BinaryIntOp { destination: Relative(30), op: Add, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(29) }, Mov { destination: Direct(32772), source: Relative(32) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1818 }, Mov { destination: Relative(31), source: Direct(32774) }, Mov { destination: Relative(33), source: Direct(32775) }, Store { destination_pointer: Relative(33), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(30) }, Store { destination_pointer: Relative(26), source: Relative(31) }, Load { destination: Relative(25), source_pointer: Relative(31) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(25) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1087 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(25) }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(30), rhs: Relative(15) }, JumpIf { condition: Relative(25), location: 1093 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(28) } }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(16) }, Load { destination: Relative(25), source_pointer: Relative(28) }, BinaryFieldOp { destination: Relative(28), op: Equals, lhs: Relative(25), rhs: Relative(17) }, JumpIf { condition: Relative(28), location: 1099 }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(29) } }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(3) }, Load { destination: Relative(25), source_pointer: Relative(28) }, BinaryFieldOp { destination: Relative(28), op: Equals, lhs: Relative(25), rhs: Relative(5) }, JumpIf { condition: Relative(28), location: 1105 }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(29) } }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(20) }, Load { destination: Relative(25), source_pointer: Relative(28) }, BinaryFieldOp { destination: Relative(20), op: Equals, lhs: Relative(25), rhs: Relative(14) }, JumpIf { condition: Relative(20), location: 1111 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(28) } }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(8) }, Load { destination: Relative(14), source_pointer: Relative(20) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(14), rhs: Relative(21) }, JumpIf { condition: Relative(8), location: 1117 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(21) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(14) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(14) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(14) }, Store { destination_pointer: Relative(20), source: Relative(5) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(5) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(12) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(8) }, JumpIf { condition: Relative(2), location: 1172 }, Jump { location: 1141 }, Load { destination: Relative(21), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1147 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(21) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(7) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(1) }, Store { destination_pointer: Relative(14), source: Relative(16) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1201 }, Load { destination: Relative(21), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1178 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(21) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(1) }, Store { destination_pointer: Relative(14), source: Relative(13) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1201 }, Load { destination: Relative(8), source_pointer: Relative(14) }, Load { destination: Relative(14), source_pointer: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(8) }, JumpIf { condition: Relative(20), location: 1206 }, Call { location: 1815 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U32, lhs: Relative(23), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: Sub, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(27) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Load { destination: Relative(25), source_pointer: Relative(26) }, Mov { destination: Direct(32771), source: Relative(14) }, Mov { destination: Direct(32772), source: Relative(23) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1887 }, Mov { destination: Relative(21), source: Direct(32774) }, Load { destination: Relative(8), source_pointer: Relative(21) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1224 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(8) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(20) }, Mov { destination: Relative(23), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(21) }, BinaryFieldOp { destination: Relative(27), op: Equals, lhs: Relative(25), rhs: Relative(7) }, JumpIf { condition: Relative(27), location: 1236 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(28) } }, JumpIf { condition: Relative(10), location: 1238 }, Jump { location: 1256 }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(14) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 1244 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(26), source: Direct(32773) }, Mov { destination: Relative(27), source: Direct(32774) }, Store { destination_pointer: Relative(27), source: Relative(9) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Store { destination_pointer: Relative(23), source: Relative(26) }, Jump { location: 1256 }, Load { destination: Relative(9), source_pointer: Relative(8) }, Load { destination: Relative(14), source_pointer: Relative(23) }, Load { destination: Relative(20), source_pointer: Relative(14) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1264 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(20) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(25), source: Direct(32773) }, Mov { destination: Relative(26), source: Direct(32774) }, Store { destination_pointer: Relative(26), source: Relative(22) }, Store { destination_pointer: Relative(8), source: Relative(20) }, Store { destination_pointer: Relative(23), source: Relative(25) }, JumpIf { condition: Relative(10), location: 1295 }, Jump { location: 1277 }, Load { destination: Relative(9), source_pointer: Relative(25) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(9) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1283 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(25) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(17) }, Store { destination_pointer: Relative(8), source: Relative(9) }, Store { destination_pointer: Relative(23), source: Relative(21) }, Jump { location: 1295 }, Load { destination: Relative(17), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 1300 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, Const { destination: Relative(17), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(21) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(17) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(17) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(17) }, Store { destination_pointer: Relative(20), source: Relative(5) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(5) }, BinaryFieldOp { destination: Relative(17), op: Equals, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(17), location: 1356 }, Jump { location: 1319 }, JumpIf { condition: Relative(10), location: 1342 }, Jump { location: 1321 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(26) }, Mov { destination: Relative(22), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(22), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(23) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(23) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(4) }, Mov { destination: Relative(20), source: Relative(13) }, Mov { destination: Relative(21), source: Relative(22) }, Jump { location: 1353 }, Load { destination: Relative(22), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1348 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(22) }, Mov { destination: Relative(20), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(8) }, Jump { location: 1353 }, Mov { destination: Relative(9), source: Relative(20) }, Mov { destination: Relative(14), source: Relative(21) }, Jump { location: 1359 }, Mov { destination: Relative(9), source: Relative(12) }, Mov { destination: Relative(14), source: Relative(8) }, Jump { location: 1359 }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(18), rhs: Relative(9) }, JumpIf { condition: Relative(20), location: 1362 }, Call { location: 1815 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Load { destination: Relative(20), source_pointer: Relative(21) }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(20), rhs: Relative(5) }, JumpIf { condition: Relative(21), location: 1368 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, JumpIf { condition: Relative(20), location: 1371 }, Call { location: 1815 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Load { destination: Relative(20), source_pointer: Relative(21) }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(20), rhs: Relative(5) }, JumpIf { condition: Relative(14), location: 1377 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(21) } }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 1381 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(9) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1387 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(8) }, JumpIf { condition: Relative(17), location: 1428 }, Jump { location: 1397 }, Load { destination: Relative(14), source_pointer: Relative(8) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(14) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1403 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(22) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(22) }, Mov { destination: Relative(22), source: Relative(14) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(4) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(1) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1457 }, Load { destination: Relative(14), source_pointer: Relative(8) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(14) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1434 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(22) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(22) }, Mov { destination: Relative(22), source: Relative(14) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(1) }, Store { destination_pointer: Relative(9), source: Relative(13) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1457 }, Load { destination: Relative(8), source_pointer: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(20) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(8) }, JumpIf { condition: Relative(14), location: 1462 }, Call { location: 1815 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(3) }, Load { destination: Relative(14), source_pointer: Relative(20) }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(14), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 1468 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, JumpIf { condition: Relative(9), location: 1472 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(20) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(14) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(9) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(9) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(14) }, Mov { destination: Relative(14), source: Relative(9) }, Store { destination_pointer: Relative(14), source: Relative(5) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(5) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(8) }, JumpIf { condition: Relative(17), location: 1525 }, Jump { location: 1496 }, Mov { destination: Relative(8), source: Relative(18) }, Jump { location: 1498 }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, JumpIf { condition: Relative(17), location: 1502 }, Jump { location: 1501 }, Jump { location: 1554 }, Load { destination: Relative(17), source_pointer: Relative(9) }, Load { destination: Relative(18), source_pointer: Relative(14) }, Load { destination: Relative(20), source_pointer: Relative(18) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1510 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(20) }, Cast { destination: Relative(20), source: Relative(8), bit_size: Field }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(23), source: Direct(32773) }, Mov { destination: Relative(25), source: Direct(32774) }, Store { destination_pointer: Relative(25), source: Relative(20) }, Store { destination_pointer: Relative(9), source: Relative(22) }, Store { destination_pointer: Relative(14), source: Relative(23) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(19) }, Mov { destination: Relative(8), source: Relative(17) }, Jump { location: 1498 }, Load { destination: Relative(17), source_pointer: Relative(8) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(17) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1531 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(17) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(20) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(17) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(17) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(5) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(5) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(1) }, Store { destination_pointer: Relative(9), source: Relative(13) }, Store { destination_pointer: Relative(14), source: Relative(8) }, Jump { location: 1554 }, Load { destination: Relative(18), source_pointer: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(18) }, JumpIf { condition: Relative(14), location: 1559 }, Call { location: 1815 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(3) }, Load { destination: Relative(14), source_pointer: Relative(19) }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(14), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 1565 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(13) }, JumpIf { condition: Relative(9), location: 1569 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(9), bit_size: Integer(U32), value: 256 }, Const { destination: Relative(18), bit_size: Integer(U1), value: 0 }, Mov { destination: Relative(14), source: Direct(1) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 32 }, BlackBox(ToRadix { input: Relative(1), radix: Relative(9), output_pointer: Relative(19), num_limbs: Relative(20), output_bits: Relative(18) }), BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(1), rhs: Relative(5) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(20) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(18) }, Store { destination_pointer: Relative(19), source: Relative(5) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(5) }, JumpIf { condition: Relative(2), location: 1618 }, Jump { location: 1597 }, Load { destination: Relative(2), source_pointer: Relative(1) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(18), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(2) }, Not { destination: Relative(18), source: Relative(18), bit_size: U1 }, JumpIf { condition: Relative(18), location: 1603 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(2) }, Not { destination: Relative(2), source: Relative(10), bit_size: U1 }, Cast { destination: Relative(18), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(19), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(20), op: Mul, bit_size: U32, lhs: Relative(18), rhs: Relative(12) }, BinaryIntOp { destination: Relative(12), op: Mul, bit_size: U32, lhs: Relative(19), rhs: Relative(13) }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(12) }, ConditionalMov { destination: Relative(19), source_a: Relative(1), source_b: Relative(11), condition: Relative(10) }, Mov { destination: Direct(32771), source: Relative(19) }, Call { location: 1940 }, Mov { destination: Relative(12), source: Direct(32772) }, Mov { destination: Relative(8), source: Relative(18) }, Mov { destination: Relative(17), source: Relative(12) }, Jump { location: 1621 }, Mov { destination: Relative(8), source: Relative(12) }, Mov { destination: Relative(17), source: Relative(1) }, Jump { location: 1621 }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(17) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(4) }, JumpIf { condition: Relative(9), location: 1662 }, Jump { location: 1636 }, Load { destination: Relative(8), source_pointer: Relative(17) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1642 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(8) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1650 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1719 }, Mov { destination: Relative(14), source: Direct(32773) }, Mov { destination: Relative(17), source: Direct(32774) }, Store { destination_pointer: Relative(17), source: Relative(7) }, Store { destination_pointer: Relative(1), source: Relative(8) }, Store { destination_pointer: Relative(2), source: Relative(14) }, Jump { location: 1673 }, Load { destination: Relative(8), source_pointer: Relative(17) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1668 }, Call { location: 1716 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Store { destination_pointer: Relative(2), source: Relative(11) }, Jump { location: 1673 }, Load { destination: Relative(8), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 1679 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Load { destination: Relative(2), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Relative(5) }, JumpIf { condition: Relative(8), location: 1685 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(16) }, Load { destination: Relative(2), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Relative(5) }, JumpIf { condition: Relative(8), location: 1691 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Load { destination: Relative(2), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 1697 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 1703 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(15) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(1), op: Equals, lhs: Relative(2), rhs: Relative(7) }, JumpIf { condition: Relative(1), location: 1709 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1715 }, 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, Load { destination: Direct(32775), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: LessThanEquals, bit_size: U32, lhs: Direct(32779), rhs: Direct(32777) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32775), rhs: Direct(2) }, JumpIf { condition: Direct(32780), location: 1730 }, Jump { location: 1747 }, JumpIf { condition: Direct(32781), location: 1732 }, Jump { location: 1736 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, Jump { location: 1746 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32783) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32782) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32777) }, Jump { location: 1746 }, Jump { location: 1759 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32782), op: Mul, bit_size: U32, lhs: Direct(32779), rhs: Direct(32783) }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(32784) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32779) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32782) }, Jump { location: 1759 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, JumpIf { condition: Direct(32781), location: 1773 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32776) }, Mov { destination: Direct(32784), source: Direct(32778) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1773 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1766 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32776) }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1784 }, Jump { location: 1788 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 1810 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1809 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1802 }, Jump { location: 1810 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32776), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Load { destination: Direct(32778), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32781), op: LessThanEquals, bit_size: U32, lhs: Direct(32780), rhs: Direct(32778) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, JumpIf { condition: Direct(32781), location: 1829 }, Jump { location: 1846 }, JumpIf { condition: Direct(32782), location: 1831 }, Jump { location: 1835 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, Jump { location: 1845 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32784) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32778) }, Jump { location: 1845 }, Jump { location: 1858 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32783), op: Mul, bit_size: U32, lhs: Direct(32780), rhs: Direct(32784) }, Const { destination: Direct(32785), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32785) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32784) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32783) }, Jump { location: 1858 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32782) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32774) }, JumpIf { condition: Direct(32782), location: 1872 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32785), source: Direct(32779) }, Mov { destination: Direct(32786), source: Direct(32781) }, BinaryIntOp { destination: Direct(32787), op: Equals, bit_size: U32, lhs: Direct(32785), rhs: Direct(32784) }, JumpIf { condition: Direct(32787), location: 1872 }, Load { destination: Direct(32783), source_pointer: Direct(32785) }, Store { destination_pointer: Direct(32786), source: Direct(32783) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, Jump { location: 1865 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Sub, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32786), op: Sub, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32788), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32786), op: LessThan, bit_size: U32, lhs: Direct(32788), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1886 }, Load { destination: Direct(32789), source_pointer: Direct(32788) }, Store { destination_pointer: Direct(32787), source: Direct(32789) }, BinaryIntOp { destination: Direct(32788), op: Sub, bit_size: U32, lhs: Direct(32788), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Sub, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1879 }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1896 }, Jump { location: 1902 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, Jump { location: 1924 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32782) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32781) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1923 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1916 }, Jump { location: 1924 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32783), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32783) }, Mov { destination: Direct(32786), source: Direct(32781) }, Mov { destination: Direct(32787), source: Direct(32782) }, BinaryIntOp { destination: Direct(32788), op: Equals, bit_size: U32, lhs: Direct(32786), rhs: Direct(32785) }, JumpIf { condition: Direct(32788), location: 1939 }, Load { destination: Direct(32784), source_pointer: Direct(32786) }, Store { destination_pointer: Direct(32787), source: Direct(32784) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1932 }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 1944 }, Jump { location: 1946 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 1965 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1963 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1956 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 1965 }, Return]" + "[Const { destination: Direct(2), bit_size: Integer(U32), value: 1 }, Const { destination: Direct(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Direct(0), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(4), bit_size: Integer(U32), value: 0 }, CalldataCopy { destination_address: Direct(32836), size_address: Relative(3), offset_address: Relative(4) }, Mov { destination: Relative(1), source: Direct(32836) }, Mov { destination: Relative(2), source: Direct(32837) }, Call { location: 13 }, Call { location: 14 }, Const { destination: Relative(1), bit_size: Integer(U32), value: 32838 }, Const { destination: Relative(2), bit_size: Integer(U32), value: 0 }, Stop { return_data: HeapVector { pointer: Relative(1), size: Relative(2) } }, Return, Call { location: 1686 }, Const { destination: Relative(5), bit_size: Field, value: 0 }, Const { destination: Relative(7), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(7), rhs: Relative(9) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(8) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(7) }, 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(8), source: Relative(7) }, Store { destination_pointer: Relative(8), source: Relative(5) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(5) }, Const { destination: Relative(7), bit_size: Field, value: 10 }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Relative(7) }, JumpIf { condition: Relative(8), location: 37 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, Load { destination: Relative(2), source_pointer: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(2) }, Not { destination: Relative(9), source: Relative(9), bit_size: U1 }, JumpIf { condition: Relative(9), location: 43 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(2), op: Add, bit_size: U32, lhs: Relative(2), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(2) }, BinaryFieldOp { destination: Relative(2), op: Equals, lhs: Relative(1), rhs: Relative(7) }, Const { destination: Relative(9), bit_size: Field, value: 20 }, BinaryFieldOp { destination: Relative(10), op: Equals, lhs: Relative(1), rhs: Relative(9) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(13), op: Add, bit_size: U32, lhs: Relative(12), rhs: Relative(14) }, Mov { destination: Relative(11), source: Direct(1) }, 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) }, 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) }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(12), op: Add, bit_size: U32, lhs: Relative(11), rhs: Relative(13) }, Mov { destination: Relative(13), source: Relative(12) }, 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) }, 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(12), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(13), bit_size: Integer(U32), value: 3 }, JumpIf { condition: Relative(2), location: 89 }, Jump { location: 70 }, JumpIf { condition: Relative(10), location: 83 }, Jump { location: 72 }, Load { destination: Relative(15), source_pointer: Relative(11) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(16), rhs: Relative(15) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 78 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(15) }, Mov { destination: Relative(8), source: Relative(13) }, Mov { destination: Relative(14), source: Relative(11) }, Jump { location: 86 }, Mov { destination: Relative(8), source: Relative(12) }, Mov { destination: Relative(14), source: Relative(6) }, Jump { location: 86 }, Mov { destination: Relative(3), source: Relative(8) }, Mov { destination: Relative(4), source: Relative(14) }, Jump { location: 92 }, Mov { destination: Relative(3), source: Relative(12) }, Mov { destination: Relative(4), source: Relative(6) }, Jump { location: 92 }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 98 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(3), rhs: Relative(13) }, JumpIf { condition: Relative(8), location: 104 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Const { destination: Relative(3), bit_size: Integer(U32), value: 5 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(3) }, Load { destination: Relative(8), source_pointer: Relative(15) }, BinaryFieldOp { destination: Relative(4), op: Equals, lhs: Relative(8), rhs: Relative(7) }, JumpIf { condition: Relative(4), location: 111 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Load { destination: Relative(4), source_pointer: Relative(6) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(4) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 117 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(4), op: Add, bit_size: U32, lhs: Relative(4), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(4) }, Mov { destination: Relative(4), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(12) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Const { destination: Relative(16), bit_size: Integer(U32), value: 4 }, JumpIf { condition: Relative(2), location: 159 }, Jump { location: 128 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 134 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(18) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(8) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(7) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Relative(16) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Jump { location: 188 }, Load { destination: Relative(8), source_pointer: Relative(6) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(17), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(17), source: Relative(17), bit_size: U1 }, JumpIf { condition: Relative(17), location: 165 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(6), source: Relative(8) }, Const { destination: Relative(8), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(18) }, Mov { destination: Relative(6), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(6), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(6), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(6), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(8) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(1) }, Store { destination_pointer: Relative(4), source: Relative(13) }, Store { destination_pointer: Relative(15), source: Relative(6) }, Jump { location: 188 }, Load { destination: Relative(6), source_pointer: Relative(4) }, Load { destination: Relative(4), source_pointer: Relative(15) }, Load { destination: Relative(8), source_pointer: Relative(4) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(15), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(15), source: Relative(15), bit_size: U1 }, JumpIf { condition: Relative(15), location: 196 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(4), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(6), rhs: Relative(16) }, JumpIf { condition: Relative(8), location: 202 }, Const { destination: Relative(15), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(15) } }, Const { destination: Relative(6), bit_size: Integer(U32), value: 6 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(4), rhs: Relative(6) }, Load { destination: Relative(8), source_pointer: Relative(15) }, Const { destination: Relative(4), bit_size: Field, value: 5 }, BinaryFieldOp { destination: Relative(15), op: Equals, lhs: Relative(8), rhs: Relative(4) }, JumpIf { condition: Relative(15), location: 210 }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(17) } }, Const { destination: Relative(15), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(18), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(15), rhs: Relative(18) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(17) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(15) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(17) }, Mov { destination: Relative(17), source: Relative(15) }, Store { destination_pointer: Relative(17), source: Relative(5) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(5) }, Mov { destination: Relative(15), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(15), source: Relative(12) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 1 }, JumpIf { condition: Relative(2), location: 265 }, Jump { location: 236 }, Mov { destination: Relative(8), source: Relative(18) }, Jump { location: 238 }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, JumpIf { condition: Relative(14), location: 242 }, Jump { location: 241 }, Jump { location: 294 }, Load { destination: Relative(14), source_pointer: Relative(15) }, Load { destination: Relative(20), source_pointer: Relative(17) }, Load { destination: Relative(21), source_pointer: Relative(20) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(21) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 250 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(21) }, Cast { destination: Relative(21), source: Relative(8), bit_size: Field }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(20) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(25), source: Direct(32774) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(15), source: Relative(23) }, Store { destination_pointer: Relative(17), source: Relative(24) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(19) }, Mov { destination: Relative(8), source: Relative(14) }, Jump { location: 238 }, Load { destination: Relative(14), source_pointer: Relative(8) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(20), rhs: Relative(14) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 271 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(22) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(21) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(21) }, Mov { destination: Relative(21), source: Relative(14) }, Store { destination_pointer: Relative(21), source: Relative(5) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(5) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(1) }, Store { destination_pointer: Relative(15), source: Relative(13) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Jump { location: 294 }, Load { destination: Relative(8), source_pointer: Relative(15) }, Load { destination: Relative(14), source_pointer: Relative(17) }, Load { destination: Relative(15), source_pointer: Relative(14) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(15) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 302 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(15), op: Add, bit_size: U32, lhs: Relative(15), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(15) }, Const { destination: Relative(15), bit_size: Integer(U32), value: 7 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(15) }, JumpIf { condition: Relative(20), location: 309 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(21) } }, Const { destination: Relative(8), bit_size: Integer(U32), value: 9 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Load { destination: Relative(20), source_pointer: Relative(21) }, Const { destination: Relative(14), bit_size: Field, value: 4 }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(20), rhs: Relative(14) }, JumpIf { condition: Relative(21), location: 317 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, Const { destination: Relative(20), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(20), rhs: Relative(22) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(21) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(20) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(20) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(21) }, Mov { destination: Relative(21), source: Relative(20) }, Store { destination_pointer: Relative(21), source: Relative(5) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(5) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(12) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, JumpIf { condition: Relative(2), location: 372 }, Jump { location: 341 }, Load { destination: Relative(17), source_pointer: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 347 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(17) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(23) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(23), source: Relative(17) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(7) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(1) }, Store { destination_pointer: Relative(20), source: Relative(16) }, Store { destination_pointer: Relative(21), source: Relative(14) }, Jump { location: 401 }, Load { destination: Relative(17), source_pointer: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(22), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 378 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(17) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(23) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(23), source: Relative(17) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(5) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(1) }, Store { destination_pointer: Relative(20), source: Relative(13) }, Store { destination_pointer: Relative(21), source: Relative(14) }, Jump { location: 401 }, JumpIf { condition: Relative(10), location: 403 }, Jump { location: 423 }, Load { destination: Relative(14), source_pointer: Relative(20) }, Load { destination: Relative(17), source_pointer: Relative(21) }, Load { destination: Relative(22), source_pointer: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 411 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(22) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(25), source: Direct(32774) }, Store { destination_pointer: Relative(25), source: Relative(9) }, Store { destination_pointer: Relative(20), source: Relative(22) }, Store { destination_pointer: Relative(21), source: Relative(24) }, Jump { location: 423 }, Load { destination: Relative(14), source_pointer: Relative(20) }, Load { destination: Relative(17), source_pointer: Relative(21) }, Load { destination: Relative(22), source_pointer: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(22) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 431 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(22) }, Const { destination: Relative(22), bit_size: Field, value: 15 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(25), source: Direct(32773) }, Mov { destination: Relative(26), source: Direct(32774) }, Store { destination_pointer: Relative(26), source: Relative(22) }, Load { destination: Relative(14), source_pointer: Relative(25) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(14) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 447 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(14) }, Const { destination: Relative(14), bit_size: Field, value: 30 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(25) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(14) }, Store { destination_pointer: Relative(20), source: Relative(26) }, Store { destination_pointer: Relative(21), source: Relative(27) }, Load { destination: Relative(20), source_pointer: Relative(27) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 465 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(20) }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(6) }, JumpIf { condition: Relative(20), location: 471 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(24) } }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(27), rhs: Relative(6) }, Load { destination: Relative(20), source_pointer: Relative(24) }, BinaryFieldOp { destination: Relative(24), op: Equals, lhs: Relative(20), rhs: Relative(4) }, JumpIf { condition: Relative(24), location: 477 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(27), rhs: Relative(15) }, Load { destination: Relative(20), source_pointer: Relative(24) }, BinaryFieldOp { destination: Relative(24), op: Equals, lhs: Relative(20), rhs: Relative(22) }, JumpIf { condition: Relative(24), location: 483 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, Const { destination: Relative(20), bit_size: Integer(U32), value: 8 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(27), rhs: Relative(20) }, Load { destination: Relative(24), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(24), rhs: Relative(14) }, JumpIf { condition: Relative(25), location: 490 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(27) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(26) }, IndirectConst { destination_pointer: Relative(24), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(26) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(5) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(5) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(24) }, JumpIf { condition: Relative(2), location: 545 }, Jump { location: 514 }, Load { destination: Relative(17), source_pointer: Relative(24) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 520 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(27) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(24) }, IndirectConst { destination_pointer: Relative(17), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(24), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(7) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(16) }, Store { destination_pointer: Relative(26), source: Relative(17) }, Jump { location: 574 }, Load { destination: Relative(17), source_pointer: Relative(24) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 551 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(17) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(27) }, Mov { destination: Relative(17), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(24) }, IndirectConst { destination_pointer: Relative(17), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(23) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(24) }, Mov { destination: Relative(24), source: Relative(23) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(5) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(13) }, Store { destination_pointer: Relative(26), source: Relative(17) }, Jump { location: 574 }, Load { destination: Relative(17), source_pointer: Relative(25) }, Load { destination: Relative(21), source_pointer: Relative(26) }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 582 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(14) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Store { destination_pointer: Relative(26), source: Relative(27) }, JumpIf { condition: Relative(10), location: 595 }, Jump { location: 613 }, Load { destination: Relative(17), source_pointer: Relative(27) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(24), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(17) }, Not { destination: Relative(24), source: Relative(24), bit_size: U1 }, JumpIf { condition: Relative(24), location: 601 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(17) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(27) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(9) }, Store { destination_pointer: Relative(25), source: Relative(17) }, Store { destination_pointer: Relative(26), source: Relative(24) }, Jump { location: 613 }, Load { destination: Relative(17), source_pointer: Relative(25) }, Load { destination: Relative(21), source_pointer: Relative(26) }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 621 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(28), source: Direct(32774) }, Store { destination_pointer: Relative(28), source: Relative(22) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Store { destination_pointer: Relative(26), source: Relative(27) }, Const { destination: Relative(17), bit_size: Field, value: 50 }, JumpIf { condition: Relative(10), location: 653 }, Jump { location: 635 }, Load { destination: Relative(21), source_pointer: Relative(27) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(21) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 641 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(27) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(28), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(17) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(26), source: Relative(28) }, Jump { location: 653 }, Load { destination: Relative(21), source_pointer: Relative(25) }, Load { destination: Relative(23), source_pointer: Relative(26) }, Load { destination: Relative(24), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(24) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 661 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(24) }, Const { destination: Relative(24), bit_size: Field, value: 60 }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(29), source: Direct(32773) }, Mov { destination: Relative(30), source: Direct(32774) }, Store { destination_pointer: Relative(30), source: Relative(24) }, Store { destination_pointer: Relative(25), source: Relative(28) }, Store { destination_pointer: Relative(26), source: Relative(29) }, Load { destination: Relative(21), source_pointer: Relative(29) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 679 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(20) }, JumpIf { condition: Relative(21), location: 685 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(6) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(4) }, JumpIf { condition: Relative(25), location: 691 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(15) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(14) }, JumpIf { condition: Relative(25), location: 697 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(20) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(22) }, JumpIf { condition: Relative(25), location: 703 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(8) }, Load { destination: Relative(21), source_pointer: Relative(25) }, BinaryFieldOp { destination: Relative(25), op: Equals, lhs: Relative(21), rhs: Relative(17) }, JumpIf { condition: Relative(25), location: 709 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, Const { destination: Relative(21), bit_size: Integer(U32), value: 10 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(29), rhs: Relative(21) }, Load { destination: Relative(25), source_pointer: Relative(26) }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(25), rhs: Relative(24) }, JumpIf { condition: Relative(21), location: 716 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(26) } }, Const { destination: Relative(24), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(24), rhs: Relative(26) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, Mov { destination: Relative(24), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(24), source: Relative(12) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, JumpIf { condition: Relative(2), location: 771 }, Jump { location: 740 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 746 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(7) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(24), source: Relative(16) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Jump { location: 800 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 777 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(24), source: Relative(13) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Jump { location: 800 }, Load { destination: Relative(21), source_pointer: Relative(24) }, Load { destination: Relative(23), source_pointer: Relative(25) }, Load { destination: Relative(26), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(26) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 808 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(26) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(28), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(14) }, Store { destination_pointer: Relative(24), source: Relative(26) }, Store { destination_pointer: Relative(25), source: Relative(28) }, JumpIf { condition: Relative(10), location: 821 }, Jump { location: 839 }, Load { destination: Relative(21), source_pointer: Relative(28) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 827 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(28), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(28) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(9) }, Store { destination_pointer: Relative(24), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(27) }, Jump { location: 839 }, Load { destination: Relative(21), source_pointer: Relative(24) }, Load { destination: Relative(23), source_pointer: Relative(25) }, BinaryIntOp { destination: Relative(24), op: Sub, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1751 }, Mov { destination: Relative(25), source: Direct(32773) }, Mov { destination: Relative(27), source: Direct(32774) }, Load { destination: Relative(26), source_pointer: Relative(27) }, Load { destination: Relative(21), source_pointer: Relative(25) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 854 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(16) }, JumpIf { condition: Relative(21), location: 860 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(27) } }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(26), rhs: Relative(14) }, JumpIf { condition: Relative(21), location: 864 }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(24) } }, BinaryIntOp { destination: Relative(21), op: Sub, bit_size: U32, lhs: Relative(16), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(25) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1751 }, Mov { destination: Relative(24), source: Direct(32773) }, Mov { destination: Relative(27), source: Direct(32774) }, Load { destination: Relative(26), source_pointer: Relative(27) }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(13) }, JumpIf { condition: Relative(25), location: 875 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(27) } }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(26), rhs: Relative(1) }, JumpIf { condition: Relative(21), location: 879 }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(25) } }, Const { destination: Relative(25), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(25), rhs: Relative(27) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(26) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(25) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(26), source: Relative(25) }, Store { destination_pointer: Relative(26), source: Relative(5) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(5) }, Mov { destination: Relative(25), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(12) }, Mov { destination: Relative(26), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(26), source: Relative(21) }, JumpIf { condition: Relative(2), location: 934 }, Jump { location: 903 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 909 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(7) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(16) }, Store { destination_pointer: Relative(26), source: Relative(21) }, Jump { location: 963 }, Load { destination: Relative(23), source_pointer: Relative(21) }, Const { destination: Relative(24), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(24), rhs: Relative(23) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 940 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(23), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(23) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(28) }, Mov { destination: Relative(21), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(27) }, IndirectConst { destination_pointer: Relative(21), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(27) }, Mov { destination: Relative(27), source: Relative(23) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(5) }, BinaryIntOp { destination: Relative(27), op: Add, bit_size: U32, lhs: Relative(27), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(1) }, Store { destination_pointer: Relative(25), source: Relative(13) }, Store { destination_pointer: Relative(26), source: Relative(21) }, Jump { location: 963 }, Load { destination: Relative(21), source_pointer: Relative(25) }, Load { destination: Relative(23), source_pointer: Relative(26) }, Load { destination: Relative(24), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(24) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 971 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(24) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(28), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(14) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(26), source: Relative(28) }, JumpIf { condition: Relative(10), location: 984 }, Jump { location: 1017 }, Load { destination: Relative(21), source_pointer: Relative(28) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(27), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(27), source: Relative(27), bit_size: U1 }, JumpIf { condition: Relative(27), location: 990 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(28), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(28) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(27), source: Direct(32773) }, Mov { destination: Relative(29), source: Direct(32774) }, Store { destination_pointer: Relative(29), source: Relative(9) }, Load { destination: Relative(24), source_pointer: Relative(27) }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(29), op: Equals, bit_size: U32, lhs: Relative(28), rhs: Relative(24) }, Not { destination: Relative(29), source: Relative(29), bit_size: U1 }, JumpIf { condition: Relative(29), location: 1005 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(27), source: Relative(24) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(27) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(29), source: Direct(32773) }, Mov { destination: Relative(30), source: Direct(32774) }, Store { destination_pointer: Relative(30), source: Relative(22) }, Store { destination_pointer: Relative(25), source: Relative(24) }, Store { destination_pointer: Relative(26), source: Relative(29) }, Jump { location: 1017 }, Load { destination: Relative(21), source_pointer: Relative(25) }, Load { destination: Relative(23), source_pointer: Relative(26) }, Load { destination: Relative(24), source_pointer: Relative(23) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(27), rhs: Relative(24) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1025 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(24), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(24) }, BinaryIntOp { destination: Relative(24), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(19) }, BinaryIntOp { destination: Relative(28), op: LessThanEquals, bit_size: U32, lhs: Relative(21), rhs: Relative(24) }, JumpIf { condition: Relative(28), location: 1031 }, Call { location: 1788 }, BinaryIntOp { destination: Relative(28), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(24) }, Const { destination: Relative(24), bit_size: Integer(U1), value: 1 }, JumpIf { condition: Relative(28), location: 1035 }, Call { location: 1791 }, Const { destination: Relative(30), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(30), op: Mul, bit_size: U32, lhs: Relative(30), rhs: Relative(19) }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(23) }, Mov { destination: Direct(32772), source: Relative(30) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1794 }, Mov { destination: Relative(29), source: Direct(32774) }, Mov { destination: Relative(31), source: Direct(32775) }, Store { destination_pointer: Relative(31), source: Relative(17) }, Load { destination: Relative(21), source_pointer: Relative(29) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(30), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(30), source: Relative(30), bit_size: U1 }, JumpIf { condition: Relative(30), location: 1051 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(29), source: Relative(21) }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(28), rhs: Relative(19) }, BinaryIntOp { destination: Relative(30), op: LessThanEquals, bit_size: U32, lhs: Relative(28), rhs: Relative(21) }, JumpIf { condition: Relative(30), location: 1057 }, Call { location: 1788 }, BinaryIntOp { destination: Relative(30), op: LessThan, bit_size: U32, lhs: Relative(6), rhs: Relative(21) }, JumpIf { condition: Relative(30), location: 1060 }, Call { location: 1791 }, Const { destination: Relative(21), bit_size: Field, value: 100 }, Const { destination: Relative(32), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(32), op: Mul, bit_size: U32, lhs: Relative(32), rhs: Relative(6) }, BinaryIntOp { destination: Relative(30), op: Add, bit_size: U32, lhs: Relative(28), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(29) }, Mov { destination: Direct(32772), source: Relative(32) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1794 }, Mov { destination: Relative(31), source: Direct(32774) }, Mov { destination: Relative(33), source: Direct(32775) }, Store { destination_pointer: Relative(33), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(30) }, Store { destination_pointer: Relative(26), source: Relative(31) }, Load { destination: Relative(25), source_pointer: Relative(31) }, Const { destination: Relative(26), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(28), op: Equals, bit_size: U32, lhs: Relative(26), rhs: Relative(25) }, Not { destination: Relative(28), source: Relative(28), bit_size: U1 }, JumpIf { condition: Relative(28), location: 1079 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(31), source: Relative(25) }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(30), rhs: Relative(15) }, JumpIf { condition: Relative(25), location: 1085 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(28) } }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(16) }, Load { destination: Relative(25), source_pointer: Relative(28) }, BinaryFieldOp { destination: Relative(28), op: Equals, lhs: Relative(25), rhs: Relative(17) }, JumpIf { condition: Relative(28), location: 1091 }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(29) } }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(3) }, Load { destination: Relative(25), source_pointer: Relative(28) }, BinaryFieldOp { destination: Relative(28), op: Equals, lhs: Relative(25), rhs: Relative(5) }, JumpIf { condition: Relative(28), location: 1097 }, Const { destination: Relative(29), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(29) } }, BinaryIntOp { destination: Relative(28), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(20) }, Load { destination: Relative(25), source_pointer: Relative(28) }, BinaryFieldOp { destination: Relative(20), op: Equals, lhs: Relative(25), rhs: Relative(14) }, JumpIf { condition: Relative(20), location: 1103 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(28) } }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(31), rhs: Relative(8) }, Load { destination: Relative(14), source_pointer: Relative(20) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(14), rhs: Relative(21) }, JumpIf { condition: Relative(8), location: 1109 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, Const { destination: Relative(14), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(21) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(14) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(14) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(14) }, Store { destination_pointer: Relative(20), source: Relative(5) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(5) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(12) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(8) }, JumpIf { condition: Relative(2), location: 1164 }, Jump { location: 1133 }, Load { destination: Relative(21), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1139 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(21) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(7) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(1) }, Store { destination_pointer: Relative(14), source: Relative(16) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1193 }, Load { destination: Relative(21), source_pointer: Relative(8) }, Const { destination: Relative(23), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(23), rhs: Relative(21) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1170 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(21), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(21) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(21), rhs: Relative(26) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(21) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(1) }, Store { destination_pointer: Relative(14), source: Relative(13) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1193 }, Load { destination: Relative(8), source_pointer: Relative(14) }, Load { destination: Relative(14), source_pointer: Relative(20) }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(8) }, JumpIf { condition: Relative(20), location: 1198 }, Call { location: 1791 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(23), op: Mul, bit_size: U32, lhs: Relative(23), rhs: Relative(12) }, BinaryIntOp { destination: Relative(20), op: Sub, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Const { destination: Relative(27), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(27) }, BinaryIntOp { destination: Relative(26), op: Add, bit_size: U32, lhs: Relative(26), rhs: Relative(23) }, Load { destination: Relative(25), source_pointer: Relative(26) }, Mov { destination: Direct(32771), source: Relative(14) }, Mov { destination: Direct(32772), source: Relative(23) }, Const { destination: Direct(32773), bit_size: Integer(U32), value: 1 }, Call { location: 1863 }, Mov { destination: Relative(21), source: Direct(32774) }, Load { destination: Relative(8), source_pointer: Relative(21) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(23), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(8) }, Not { destination: Relative(23), source: Relative(23), bit_size: U1 }, JumpIf { condition: Relative(23), location: 1216 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(8) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(20) }, Mov { destination: Relative(23), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(23), source: Relative(21) }, BinaryFieldOp { destination: Relative(27), op: Equals, lhs: Relative(25), rhs: Relative(7) }, JumpIf { condition: Relative(27), location: 1228 }, Const { destination: Relative(28), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(28) } }, JumpIf { condition: Relative(10), location: 1230 }, Jump { location: 1248 }, Load { destination: Relative(14), source_pointer: Relative(21) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(26), op: Equals, bit_size: U32, lhs: Relative(25), rhs: Relative(14) }, Not { destination: Relative(26), source: Relative(26), bit_size: U1 }, JumpIf { condition: Relative(26), location: 1236 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(21), source: Relative(14) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(21) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(26), source: Direct(32773) }, Mov { destination: Relative(27), source: Direct(32774) }, Store { destination_pointer: Relative(27), source: Relative(9) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Store { destination_pointer: Relative(23), source: Relative(26) }, Jump { location: 1248 }, Load { destination: Relative(9), source_pointer: Relative(8) }, Load { destination: Relative(14), source_pointer: Relative(23) }, Load { destination: Relative(20), source_pointer: Relative(14) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(25), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(25), source: Relative(25), bit_size: U1 }, JumpIf { condition: Relative(25), location: 1256 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(20) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(14) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(25), source: Direct(32773) }, Mov { destination: Relative(26), source: Direct(32774) }, Store { destination_pointer: Relative(26), source: Relative(22) }, Store { destination_pointer: Relative(8), source: Relative(20) }, Store { destination_pointer: Relative(23), source: Relative(25) }, JumpIf { condition: Relative(10), location: 1287 }, Jump { location: 1269 }, Load { destination: Relative(9), source_pointer: Relative(25) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(21), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(9) }, Not { destination: Relative(21), source: Relative(21), bit_size: U1 }, JumpIf { condition: Relative(21), location: 1275 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(9) }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(25) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(21), source: Direct(32773) }, Mov { destination: Relative(22), source: Direct(32774) }, Store { destination_pointer: Relative(22), source: Relative(17) }, Store { destination_pointer: Relative(8), source: Relative(9) }, Store { destination_pointer: Relative(23), source: Relative(21) }, Jump { location: 1287 }, Load { destination: Relative(17), source_pointer: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Equals, bit_size: U32, lhs: Relative(17), rhs: Relative(3) }, JumpIf { condition: Relative(8), location: 1292 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, Const { destination: Relative(17), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(21) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(20) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(17) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(17) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(20) }, Mov { destination: Relative(20), source: Relative(17) }, Store { destination_pointer: Relative(20), source: Relative(5) }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(5) }, BinaryFieldOp { destination: Relative(17), op: Equals, lhs: Relative(1), rhs: Relative(4) }, JumpIf { condition: Relative(17), location: 1340 }, Jump { location: 1311 }, JumpIf { condition: Relative(10), location: 1334 }, Jump { location: 1313 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(26), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(23), rhs: Relative(26) }, Mov { destination: Relative(22), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(25) }, IndirectConst { destination_pointer: Relative(22), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(23) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(23) }, Const { destination: Relative(25), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(23), op: Add, bit_size: U32, lhs: Relative(22), rhs: Relative(25) }, Mov { destination: Relative(25), source: Relative(23) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(5) }, BinaryIntOp { destination: Relative(25), op: Add, bit_size: U32, lhs: Relative(25), rhs: Direct(2) }, Store { destination_pointer: Relative(25), source: Relative(4) }, Mov { destination: Relative(20), source: Relative(13) }, Mov { destination: Relative(21), source: Relative(22) }, Jump { location: 1337 }, Mov { destination: Relative(20), source: Relative(12) }, Mov { destination: Relative(21), source: Relative(8) }, Jump { location: 1337 }, Mov { destination: Relative(9), source: Relative(20) }, Mov { destination: Relative(14), source: Relative(21) }, Jump { location: 1343 }, Mov { destination: Relative(9), source: Relative(12) }, Mov { destination: Relative(14), source: Relative(8) }, Jump { location: 1343 }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(18), rhs: Relative(9) }, JumpIf { condition: Relative(20), location: 1346 }, Call { location: 1791 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(13) }, Load { destination: Relative(20), source_pointer: Relative(21) }, BinaryFieldOp { destination: Relative(21), op: Equals, lhs: Relative(20), rhs: Relative(5) }, JumpIf { condition: Relative(21), location: 1352 }, Const { destination: Relative(22), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(22) } }, BinaryIntOp { destination: Relative(20), op: LessThan, bit_size: U32, lhs: Relative(19), rhs: Relative(9) }, JumpIf { condition: Relative(20), location: 1355 }, Call { location: 1791 }, BinaryIntOp { destination: Relative(21), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(16) }, Load { destination: Relative(20), source_pointer: Relative(21) }, BinaryFieldOp { destination: Relative(14), op: Equals, lhs: Relative(20), rhs: Relative(5) }, JumpIf { condition: Relative(14), location: 1361 }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(21) } }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(12) }, JumpIf { condition: Relative(14), location: 1365 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, Load { destination: Relative(9), source_pointer: Relative(8) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(20), op: Equals, bit_size: U32, lhs: Relative(14), rhs: Relative(9) }, Not { destination: Relative(20), source: Relative(20), bit_size: U1 }, JumpIf { condition: Relative(20), location: 1371 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(9), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(9) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, Mov { destination: Relative(20), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(20), source: Relative(8) }, JumpIf { condition: Relative(17), location: 1412 }, Jump { location: 1381 }, Load { destination: Relative(14), source_pointer: Relative(8) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(14) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1387 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 4 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(22) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(22) }, Mov { destination: Relative(22), source: Relative(14) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(4) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(1) }, Store { destination_pointer: Relative(9), source: Relative(16) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1441 }, Load { destination: Relative(14), source_pointer: Relative(8) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(14) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1418 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(14) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(23), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(14), rhs: Relative(23) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(22) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(14) }, Const { destination: Relative(22), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(22) }, Mov { destination: Relative(22), source: Relative(14) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(5) }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(22), rhs: Direct(2) }, Store { destination_pointer: Relative(22), source: Relative(1) }, Store { destination_pointer: Relative(9), source: Relative(13) }, Store { destination_pointer: Relative(20), source: Relative(8) }, Jump { location: 1441 }, Load { destination: Relative(8), source_pointer: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(20) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(8) }, JumpIf { condition: Relative(14), location: 1446 }, Call { location: 1791 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(3) }, Load { destination: Relative(14), source_pointer: Relative(20) }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(14), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 1452 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(20) } }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(13) }, JumpIf { condition: Relative(9), location: 1456 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(9), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(20) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(14) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(9) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(9) }, Const { destination: Relative(14), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(9), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(14) }, Mov { destination: Relative(14), source: Relative(9) }, Store { destination_pointer: Relative(14), source: Relative(5) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(5) }, Mov { destination: Relative(9), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(9), source: Relative(12) }, Mov { destination: Relative(14), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(14), source: Relative(8) }, JumpIf { condition: Relative(17), location: 1509 }, Jump { location: 1480 }, Mov { destination: Relative(8), source: Relative(18) }, Jump { location: 1482 }, BinaryIntOp { destination: Relative(17), op: LessThan, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, JumpIf { condition: Relative(17), location: 1486 }, Jump { location: 1485 }, Jump { location: 1538 }, Load { destination: Relative(17), source_pointer: Relative(9) }, Load { destination: Relative(18), source_pointer: Relative(14) }, Load { destination: Relative(20), source_pointer: Relative(18) }, Const { destination: Relative(21), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(22), op: Equals, bit_size: U32, lhs: Relative(21), rhs: Relative(20) }, Not { destination: Relative(22), source: Relative(22), bit_size: U1 }, JumpIf { condition: Relative(22), location: 1494 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(20), op: Add, bit_size: U32, lhs: Relative(20), rhs: Direct(2) }, Store { destination_pointer: Relative(18), source: Relative(20) }, Cast { destination: Relative(20), source: Relative(8), bit_size: Field }, BinaryIntOp { destination: Relative(22), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(18) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(23), source: Direct(32773) }, Mov { destination: Relative(25), source: Direct(32774) }, Store { destination_pointer: Relative(25), source: Relative(20) }, Store { destination_pointer: Relative(9), source: Relative(22) }, Store { destination_pointer: Relative(14), source: Relative(23) }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(19) }, Mov { destination: Relative(8), source: Relative(17) }, Jump { location: 1482 }, Load { destination: Relative(17), source_pointer: Relative(8) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(19), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(17) }, Not { destination: Relative(19), source: Relative(19), bit_size: U1 }, JumpIf { condition: Relative(19), location: 1515 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(17), rhs: Direct(2) }, Store { destination_pointer: Relative(8), source: Relative(17) }, Const { destination: Relative(17), bit_size: Integer(U32), value: 3 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(17), rhs: Relative(20) }, Mov { destination: Relative(8), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(8), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(17) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(17) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(17), op: Add, bit_size: U32, lhs: Relative(8), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(17) }, Store { destination_pointer: Relative(19), source: Relative(5) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(5) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(1) }, Store { destination_pointer: Relative(9), source: Relative(13) }, Store { destination_pointer: Relative(14), source: Relative(8) }, Jump { location: 1538 }, Load { destination: Relative(18), source_pointer: Relative(9) }, Load { destination: Relative(9), source_pointer: Relative(14) }, BinaryIntOp { destination: Relative(14), op: LessThan, bit_size: U32, lhs: Relative(12), rhs: Relative(18) }, JumpIf { condition: Relative(14), location: 1543 }, Call { location: 1791 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(9), rhs: Relative(3) }, Load { destination: Relative(14), source_pointer: Relative(19) }, BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(14), rhs: Relative(4) }, JumpIf { condition: Relative(9), location: 1549 }, Const { destination: Relative(19), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(19) } }, BinaryIntOp { destination: Relative(9), op: Equals, bit_size: U32, lhs: Relative(18), rhs: Relative(13) }, JumpIf { condition: Relative(9), location: 1553 }, Const { destination: Relative(14), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(14) } }, Const { destination: Relative(9), bit_size: Integer(U32), value: 256 }, Const { destination: Relative(18), bit_size: Integer(U1), value: 0 }, Mov { destination: Relative(14), source: Direct(1) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 33 }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(14), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(14), rhs: Direct(2) }, Const { destination: Relative(20), bit_size: Integer(U32), value: 32 }, BlackBox(ToRadix { input: Relative(1), radix: Relative(9), output_pointer: Relative(19), num_limbs: Relative(20), output_bits: Relative(18) }), BinaryFieldOp { destination: Relative(9), op: Equals, lhs: Relative(1), rhs: Relative(5) }, Const { destination: Relative(18), bit_size: Integer(U32), value: 2 }, Const { destination: Relative(20), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(18), rhs: Relative(20) }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Relative(19) }, IndirectConst { destination_pointer: Relative(1), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(1), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(18) }, Const { destination: Relative(19), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Relative(18), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(19) }, Mov { destination: Relative(19), source: Relative(18) }, Store { destination_pointer: Relative(19), source: Relative(5) }, BinaryIntOp { destination: Relative(19), op: Add, bit_size: U32, lhs: Relative(19), rhs: Direct(2) }, Store { destination_pointer: Relative(19), source: Relative(5) }, JumpIf { condition: Relative(2), location: 1594 }, Jump { location: 1581 }, Not { destination: Relative(2), source: Relative(10), bit_size: U1 }, Cast { destination: Relative(14), source: Relative(10), bit_size: Integer(U32) }, Cast { destination: Relative(18), source: Relative(2), bit_size: Integer(U32) }, BinaryIntOp { destination: Relative(19), op: Mul, bit_size: U32, lhs: Relative(14), rhs: Relative(12) }, BinaryIntOp { destination: Relative(12), op: Mul, bit_size: U32, lhs: Relative(18), rhs: Relative(13) }, BinaryIntOp { destination: Relative(14), op: Add, bit_size: U32, lhs: Relative(19), rhs: Relative(12) }, ConditionalMov { destination: Relative(18), source_a: Relative(1), source_b: Relative(11), condition: Relative(10) }, Mov { destination: Direct(32771), source: Relative(18) }, Call { location: 1916 }, Mov { destination: Relative(12), source: Direct(32772) }, Mov { destination: Relative(8), source: Relative(14) }, Mov { destination: Relative(17), source: Relative(12) }, Jump { location: 1597 }, Mov { destination: Relative(8), source: Relative(12) }, Mov { destination: Relative(17), source: Relative(1) }, Jump { location: 1597 }, Mov { destination: Relative(1), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(1), source: Relative(8) }, Mov { destination: Relative(2), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(2) }, Store { destination_pointer: Relative(2), source: Relative(17) }, BinaryIntOp { destination: Relative(10), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(17) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(11), source: Direct(32773) }, Mov { destination: Relative(12), source: Direct(32774) }, Store { destination_pointer: Relative(12), source: Relative(4) }, JumpIf { condition: Relative(9), location: 1638 }, Jump { location: 1612 }, Load { destination: Relative(8), source_pointer: Relative(17) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1618 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Load { destination: Relative(8), source_pointer: Relative(11) }, Const { destination: Relative(12), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(14), op: Equals, bit_size: U32, lhs: Relative(12), rhs: Relative(8) }, Not { destination: Relative(14), source: Relative(14), bit_size: U1 }, JumpIf { condition: Relative(14), location: 1626 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(11), source: Relative(8) }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(10), rhs: Direct(2) }, Mov { destination: Direct(32771), source: Relative(11) }, Const { destination: Direct(32772), bit_size: Integer(U32), value: 1 }, Call { location: 1695 }, Mov { destination: Relative(14), source: Direct(32773) }, Mov { destination: Relative(17), source: Direct(32774) }, Store { destination_pointer: Relative(17), source: Relative(7) }, Store { destination_pointer: Relative(1), source: Relative(8) }, Store { destination_pointer: Relative(2), source: Relative(14) }, Jump { location: 1649 }, Load { destination: Relative(8), source_pointer: Relative(17) }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, BinaryIntOp { destination: Relative(12), op: Equals, bit_size: U32, lhs: Relative(9), rhs: Relative(8) }, Not { destination: Relative(12), source: Relative(12), bit_size: U1 }, JumpIf { condition: Relative(12), location: 1644 }, Call { location: 1692 }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(8), rhs: Direct(2) }, Store { destination_pointer: Relative(17), source: Relative(8) }, Store { destination_pointer: Relative(1), source: Relative(10) }, Store { destination_pointer: Relative(2), source: Relative(11) }, Jump { location: 1649 }, Load { destination: Relative(8), source_pointer: Relative(1) }, Load { destination: Relative(1), source_pointer: Relative(2) }, BinaryIntOp { destination: Relative(2), op: Equals, bit_size: U32, lhs: Relative(8), rhs: Relative(3) }, JumpIf { condition: Relative(2), location: 1655 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(13) }, Load { destination: Relative(2), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Relative(5) }, JumpIf { condition: Relative(8), location: 1661 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(8), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(16) }, Load { destination: Relative(2), source_pointer: Relative(8) }, BinaryFieldOp { destination: Relative(8), op: Equals, lhs: Relative(2), rhs: Relative(5) }, JumpIf { condition: Relative(8), location: 1667 }, Const { destination: Relative(9), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(9) } }, BinaryIntOp { destination: Relative(5), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(3) }, Load { destination: Relative(2), source_pointer: Relative(5) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Relative(7) }, JumpIf { condition: Relative(3), location: 1673 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(6) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(3), op: Equals, lhs: Relative(2), rhs: Relative(4) }, JumpIf { condition: Relative(3), location: 1679 }, Const { destination: Relative(5), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(5) } }, BinaryIntOp { destination: Relative(3), op: Add, bit_size: U32, lhs: Relative(1), rhs: Relative(15) }, Load { destination: Relative(2), source_pointer: Relative(3) }, BinaryFieldOp { destination: Relative(1), op: Equals, lhs: Relative(2), rhs: Relative(7) }, JumpIf { condition: Relative(1), location: 1685 }, Const { destination: Relative(3), bit_size: Integer(U32), value: 0 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Relative(3) } }, Return, Const { destination: Direct(32772), bit_size: Integer(U32), value: 30720 }, BinaryIntOp { destination: Direct(32771), op: LessThan, bit_size: U32, lhs: Direct(0), rhs: Direct(32772) }, JumpIf { condition: Direct(32771), location: 1691 }, 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, Load { destination: Direct(32775), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32776), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32779) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: LessThanEquals, bit_size: U32, lhs: Direct(32779), rhs: Direct(32777) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32775), rhs: Direct(2) }, JumpIf { condition: Direct(32780), location: 1706 }, Jump { location: 1723 }, JumpIf { condition: Direct(32781), location: 1708 }, Jump { location: 1712 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, Jump { location: 1722 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32783) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32782) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32779) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(2) }, Store { destination_pointer: Direct(32782), source: Direct(32777) }, Jump { location: 1722 }, Jump { location: 1735 }, Const { destination: Direct(32783), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32782), op: Mul, bit_size: U32, lhs: Direct(32779), rhs: Direct(32783) }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32782), rhs: Direct(32784) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32779) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32782) }, Jump { location: 1735 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32781), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32773) }, JumpIf { condition: Direct(32781), location: 1749 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32776) }, Mov { destination: Direct(32784), source: Direct(32778) }, Mov { destination: Direct(32785), source: Direct(32780) }, BinaryIntOp { destination: Direct(32786), op: Equals, bit_size: U32, lhs: Direct(32784), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1749 }, Load { destination: Direct(32782), source_pointer: Direct(32784) }, Store { destination_pointer: Direct(32785), source: Direct(32782) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, Jump { location: 1742 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32776) }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1760 }, Jump { location: 1764 }, Mov { destination: Direct(32773), source: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Jump { location: 1786 }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32781) }, Mov { destination: Direct(32773), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32780) }, IndirectConst { destination_pointer: Direct(32773), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Store { destination_pointer: Direct(32780), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32773), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1785 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1778 }, Jump { location: 1786 }, BinaryIntOp { destination: Direct(32774), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32776) }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 5019202896831570965 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, IndirectConst { destination_pointer: Direct(1), bit_size: Integer(U64), value: 14225679739041873922 }, Trap { revert_data: HeapVector { pointer: Direct(1), size: Direct(2) } }, Return, Load { destination: Direct(32776), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32777), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, Load { destination: Direct(32778), source_pointer: Direct(32780) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32777), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32781), op: LessThanEquals, bit_size: U32, lhs: Direct(32780), rhs: Direct(32778) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32776), rhs: Direct(2) }, JumpIf { condition: Direct(32781), location: 1805 }, Jump { location: 1822 }, JumpIf { condition: Direct(32782), location: 1807 }, Jump { location: 1811 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, Jump { location: 1821 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(32784) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32783) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32780) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, Store { destination_pointer: Direct(32783), source: Direct(32778) }, Jump { location: 1821 }, Jump { location: 1834 }, Const { destination: Direct(32784), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32783), op: Mul, bit_size: U32, lhs: Direct(32780), rhs: Direct(32784) }, Const { destination: Direct(32785), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32785) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32784) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Store { destination_pointer: Direct(32784), source: Direct(32783) }, Jump { location: 1834 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32782) }, BinaryIntOp { destination: Direct(32782), op: Equals, bit_size: U32, lhs: Direct(32771), rhs: Direct(32774) }, JumpIf { condition: Direct(32782), location: 1848 }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32785), source: Direct(32779) }, Mov { destination: Direct(32786), source: Direct(32781) }, BinaryIntOp { destination: Direct(32787), op: Equals, bit_size: U32, lhs: Direct(32785), rhs: Direct(32784) }, JumpIf { condition: Direct(32787), location: 1848 }, Load { destination: Direct(32783), source_pointer: Direct(32785) }, Store { destination_pointer: Direct(32786), source: Direct(32783) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, Jump { location: 1841 }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Sub, bit_size: U32, lhs: Direct(32777), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32786), op: Sub, bit_size: U32, lhs: Direct(32785), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32788), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(32786) }, BinaryIntOp { destination: Direct(32786), op: LessThan, bit_size: U32, lhs: Direct(32788), rhs: Direct(32783) }, JumpIf { condition: Direct(32786), location: 1862 }, Load { destination: Direct(32789), source_pointer: Direct(32788) }, Store { destination_pointer: Direct(32787), source: Direct(32789) }, BinaryIntOp { destination: Direct(32788), op: Sub, bit_size: U32, lhs: Direct(32788), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Sub, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1855 }, Return, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(2) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, BinaryIntOp { destination: Direct(32776), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32773) }, Load { destination: Direct(32777), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32778), op: Equals, bit_size: U32, lhs: Direct(32777), rhs: Direct(2) }, Const { destination: Direct(32780), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32780) }, JumpIf { condition: Direct(32778), location: 1872 }, Jump { location: 1878 }, Mov { destination: Direct(32774), source: Direct(32771) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, Jump { location: 1900 }, Const { destination: Direct(32782), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32776), rhs: Direct(32782) }, Mov { destination: Direct(32774), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32781) }, IndirectConst { destination_pointer: Direct(32774), bit_size: Integer(U32), value: 1 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(2) }, Store { destination_pointer: Direct(32781), source: Direct(32776) }, Const { destination: Direct(32781), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32780), op: Add, bit_size: U32, lhs: Direct(32774), rhs: Direct(32781) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, Mov { destination: Direct(32783), source: Direct(32779) }, Mov { destination: Direct(32784), source: Direct(32780) }, BinaryIntOp { destination: Direct(32785), op: Equals, bit_size: U32, lhs: Direct(32783), rhs: Direct(32782) }, JumpIf { condition: Direct(32785), location: 1899 }, Load { destination: Direct(32781), source_pointer: Direct(32783) }, Store { destination_pointer: Direct(32784), source: Direct(32781) }, BinaryIntOp { destination: Direct(32783), op: Add, bit_size: U32, lhs: Direct(32783), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32784), op: Add, bit_size: U32, lhs: Direct(32784), rhs: Direct(2) }, Jump { location: 1892 }, Jump { location: 1900 }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32781), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32782), op: Add, bit_size: U32, lhs: Direct(32780), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32775), rhs: Direct(32772) }, BinaryIntOp { destination: Direct(32783), op: Sub, bit_size: U32, lhs: Direct(32783), rhs: Direct(32773) }, BinaryIntOp { destination: Direct(32785), op: Add, bit_size: U32, lhs: Direct(32781), rhs: Direct(32783) }, Mov { destination: Direct(32786), source: Direct(32781) }, Mov { destination: Direct(32787), source: Direct(32782) }, BinaryIntOp { destination: Direct(32788), op: Equals, bit_size: U32, lhs: Direct(32786), rhs: Direct(32785) }, JumpIf { condition: Direct(32788), location: 1915 }, Load { destination: Direct(32784), source_pointer: Direct(32786) }, Store { destination_pointer: Direct(32787), source: Direct(32784) }, BinaryIntOp { destination: Direct(32786), op: Add, bit_size: U32, lhs: Direct(32786), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32787), op: Add, bit_size: U32, lhs: Direct(32787), rhs: Direct(2) }, Jump { location: 1908 }, Return, Load { destination: Direct(32773), source_pointer: Direct(32771) }, BinaryIntOp { destination: Direct(32774), op: Equals, bit_size: U32, lhs: Direct(32773), rhs: Direct(2) }, JumpIf { condition: Direct(32774), location: 1920 }, Jump { location: 1922 }, Mov { destination: Direct(32772), source: Direct(32771) }, Jump { location: 1941 }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 2 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32776) }, Load { destination: Direct(32775), source_pointer: Direct(32775) }, Const { destination: Direct(32776), bit_size: Integer(U32), value: 3 }, BinaryIntOp { destination: Direct(32775), op: Add, bit_size: U32, lhs: Direct(32775), rhs: Direct(32776) }, Mov { destination: Direct(32772), source: Direct(1) }, BinaryIntOp { destination: Direct(1), op: Add, bit_size: U32, lhs: Direct(1), rhs: Direct(32775) }, BinaryIntOp { destination: Direct(32777), op: Add, bit_size: U32, lhs: Direct(32771), rhs: Direct(32775) }, Mov { destination: Direct(32778), source: Direct(32771) }, Mov { destination: Direct(32779), source: Direct(32772) }, BinaryIntOp { destination: Direct(32780), op: Equals, bit_size: U32, lhs: Direct(32778), rhs: Direct(32777) }, JumpIf { condition: Direct(32780), location: 1939 }, Load { destination: Direct(32776), source_pointer: Direct(32778) }, Store { destination_pointer: Direct(32779), source: Direct(32776) }, BinaryIntOp { destination: Direct(32778), op: Add, bit_size: U32, lhs: Direct(32778), rhs: Direct(2) }, BinaryIntOp { destination: Direct(32779), op: Add, bit_size: U32, lhs: Direct(32779), rhs: Direct(2) }, Jump { location: 1932 }, IndirectConst { destination_pointer: Direct(32772), bit_size: Integer(U32), value: 1 }, Jump { location: 1941 }, Return]" ], - "debug_symbols": "rd3NjtxGsobhe+m1FsyMyIgM34phGLItDwQIsqGxD3Bg+N6HEcwvP3lRpQbbm+HTI/cb9cNkVbEo6K+XXz789Od/fvz4+dff/vvy3fd/vfz05eOnTx//8+On335+/8fH3z6f/+9fL0f+Txsv37V3L82ujV+beW2iNv24Nu3a9Gsj10avzVXpV6VflX5V+lWRqyJXRc5KPzdybfTajGtj1+as2LmZ1yZqo8e1ademXxu5Nnptzoqfm7MS58avTd6WM6pxbcextm1t+9rK2urajrW1tfW1Xb2xerZ6tnq2erZ6tnq2ep5/LudW1lbXdqytra2v7VzbuLZz/d5cvzfX7831e3P93ly/N9fvxXFt23Fi5LatbV9bWVtd27G2tra+thnWRCy0A2hA3sn8j5sACuTttYQBDkwgy/NE7YCFBnRAAAUGYIADE0BZUBaUBeXcC1skHJhALOTeeKEBHRAg9+0jMQADHJhALOT+eaEBHRAA5YHyQHmgPFAeKBvKhrKhbCgbyoayIWgIGoKOoCPoCDqCjmDu370ONAY4MIFYmAfQgA4IoADKE+WJ8kR5ohwoB8qBcqAcKAeCgWDknuCJuNBzOV1oQAcEUGAAWe4JByYQC7msuiQa0IG8qZpQYAAGOJBlS8RCLqsLDeiAAAoMwAAHUO4oC8qCsqAsKAvKgrKgLCgLyoJyrZ186GqBFBrQAQEUGMD+dQcmEAu1QGYiy5HogAAKDMAAByYQC7VSCug4Oo6Oo+PoODqOzkQn14UciQ4IoMAADHBgArGQ6+ICyoFyoBwoB8qBcqAcKMcqy3EAHRAgH4SRGIABDkwgFmpdFBqQ5XqLIYACAzAgb2q+y8h1cSEWcl2IJBrQAQEUyLImDHBgArGQ6+JCAzoggAIoC8qCsqAsKCvKirKirCgryoqyopyvO5KPYS6rCw3ogAAKDMCAvIX5bi2X1YVYyGV1oQEdEECBARiAsqFsKDvKjrKj7Cg7yo6yo+woO8oTwYngRHAiOBGcCE4EJ4K1vjwRC7W+Cg3ogAAKDMAAB1COVdbjABrQAQEUGIABq6y5mvL9ci6m2sra6tqOtV1vr9t6f53LqLZxbXMR1TZvzkx0QAAFBmCAAxOIBUFQEBQEBUFBUBAUBAVBQbCWTiHLeZtr6RQEUGAABjgwgVioxVRAeaA8UB4oD5QHyrmY9EhMIBZyMV1oQAcEUGAABpzlvMe5lmob1zZXUm3b2va1lbXVtc1iSxjgwATytuYnrlxNF/K2SqIDAiiQZU0YkOWRmEAs5Gq6kOX86Jer6YIAWc4dO1fTBQMcyHI+4rmaEiNX04UGdEAABQZggAMTQLmh3FBuKDeUG8oN5YZyQ7mh3FDOBTaOhAAKDMAAByYQC/kiNVqiAR0QQIEBGODABGJBUVaUFWVFWVFWlBVlRVlRVpQHygPlgeBAcCA4EBwIDgQHgoZgLrBRJwA6IIACAzDAgQnEQq6xCyg7yo6yo+woO8qOsqPsKE+UJ4ITwYngRHAiOBGcCE4EA8HATc31NSQhgAIDMMCBCcQFq7MPhexoQoEBGODABGIhV9OFvIUj0QEBFBiAAQ5MIBY6gh3BjmBHsCPYEewIdgQ7grWsClm2RAcEUGAABjgwgVioteMJBQZggAMTiIVaO4W8YTPRAQEUGIABDkwgFgxBQ9AQNAQNQUPQEDQEDcFaO4UsR6IDAigwAAMcmEAs1Nop5GE5R9SLVEEABQZggAMTyPOV5+HUchFdaEAH8rxlSyhwli1PE+YiuuDABLKcpwJzEV3IsiY6IIACWR4JA7JsiQnEQi6rC1n2RAeyPBMKDMCALEdiArGQbwv9SDSgAwKcZa9zpAMwwIEJxEKurwsN6IAAKAvKgrKgLCgLyoqyoqwoK8qKsqKcC83rzG4s5EK70IAOCKDAAPIW5jOYC+3CBGIhX60uNKADAigwAJQNZUPZUHaUHWVH2VF2lB1lR9lRdgQnghPBieBEcCI4EZwI5kLz3HtzoV2IhVxoFxrQAQEUGIABKAfKscrzOIAGdEAABQZgwAQQbAg2BBuCDcGGYEOwIdgcyLIlYqHWV6EBHRBAgQEYkB3PrxcOoAEdEECBARiQt3AmJhALtZoKDeiAAAoMAEFFsJZV5DcfB9CADgigwAAMcGACKBvKhrKhbCjnsppHYgAGOJAfs1oiFuqDVqEB+VGrJwRQYAAGODCBLNf3PQfQgA5kWRMKDMCALOeekOvrQizk+rrQgA4IoMAADEA5UI5VjuMAGtABARQYgAEOrHLkspqe6IAACgzAAAcmkLfw3Nkil9WFBnRAAAUGYIADE0BZUBaUBWVBWVAWlAVlQVlQFpQVZUVQEVQEFUFFUBFUBBXBXGgzEg3ogAAKDMAAByYQC4ayoWwoG8qGsqFsKBvKhrKh7Ag6go6gI+gIOoKOoCPoCE7c1FxfcSQ6IIACAzDAgQnEQq6maAkBFBiAAQ5MIC6c3+zmqbdealt9S7Z0a2zZlm/NrYDantH2jLZntD2j7Rl14rC+ea5Th5d8a24FVKcQL7WtviVbu9x3ue9y3+W+y7LLssuyy7LLufCWckZ93Z1Lb8m35lZAufyW2lbfki3d2jN0z9A9Q/cM3TPGnjH2jLFnjD1j7Bljzxh7xtgzxp4x9gzbM3JxxnUtQN+SLd0aW7blW3MroHw5XNozfM/wPcP3DN8zfM/wPcP3DN8z5p5Rr4yX+pZs6dbYsi3fmls5Iy9YOPIlcqlt9a28H17Srbwfs2RbvjW3ckZeTlAXbizlV83HUeykkErmV85HKxqZlzYcvTjJ2KxrOhZrmhQ7WdOuqz6UHKSRNa2u7KhrPBZjs67zWGxkJ4VUcpBGclrntM5pwmnCacJpwmnCacJpwmnCacJpdVnI4cVOCqnkII10cpJ1L3LHqAtFwEZ2UkglB2mkk5PkNOM04zTjNOM04zTjNOM04zTjNOM05zTnCOcI5wjnCOcI5wjnCOeIWSNqOc1GdlJIJQdppJOTjM3gtOC04LTgtOC04LTgtOC04LTY065LURY7mSPaUVRykEY6OcnYrOPDYiM7yWmN0xqnNU5rnNY4rXFa57TOaZ3TOqd1Tuuc1jmtc1rntM5pwmnCaXV8aK0opJKDrG4vxmZdNLbYyE4KqeQg615I0clJxmYdHxYb2UkhleSIwRGDIwZHGEcYRxhHGEcYR9RBYbGmadHJScZmHRQWG9lJIZWs7ihOMjbrSLDYyE4KqWTdCysa6eQkY7OOBIuN7KSQHFHLv648q2ttwEkGWFfctLroTupIsNhJIZUcpJFOTjI2G6c1Tmuc1jitcVrjtDoS1OV1deFNy6vfWl16Awqp5CCNdHKSsVmre5HThNOE04TThNOE04TThNOUMWVMGVPGlDFlTL+K8aZf1xznwpHrsuOLjazBWhSyBo/iII10sgZbMTZr6S3WtNrPaukt1rRZVHKQRta0KE4yNmtBLuY0qV2jFuSikEoO0kgnJxmb14XRFzktOC04LTitVqHU01KrcDHAui4HbGQnhVSy7oUUjXRykrFZq3CxkZ0UUklOa5zWOK1xWuO0zmmd0zqndU7rnNY5rXNa54jOEcIRwhHCEcIRwhHCEbVM8yK3VhcBgZOMzXppXmxkJ4VUcpCcppymnKacNjhtcNrgtMFpg9MGpw2OGBxRx4e8HK/VdUJgI2uEFYWsEV4cpJFO1rRZjM06Piw2MqflZUetriMClRykkU5OMjbr+LDYSE6bnDY5bXLa5LTJaZPTJqcFpwWnBacFp9WRIC+CanXZECikkoM00smvYrF5/WWLi42sab1Y06So5CCNdHKSsVkLfbGRnWS3s9vZ7ex2doVdYVfYrdWdl4G1uuQIHKSRTk4yNmt1Lzayk5ymnKacppymnKacppw2OG1w2uC0wRGDI+qNd17U1uryJHCSNSJXbF2kBNYIL3ZSSCVr2iwa6eQkc9qoPapW92IjOymkkoM00smcNurprtU96nGo1b3YyE4KqeQgjXRykpwWnBacFpwWnBacVq/+dSdqyV+KJbvegJfaVt+SLd2qW59Pc13QBHZSSN28PgyX+pZs6dbYsq16aKw4ydisNbrYyE4KWQ+5F52cZGzWalxsZCeF1D2iVuOikbwXynuhvBeD92LwXtRqzAuKWl3qBCo5SCOdnGRs1sJc5AjjCOMI4wjjCOMI4wjjiGs1RrGRQiqZI/KKo1bXQoFOTjJHWO0atQQXc4TVPlpLcFFIJWuaFI2saVqcZGzWElysabVr1xJcrGn1vNUSXBykkTWt9p1amYs1LR++unYKbGQna1oUlcxpeZFSq+uoQCdn8e+/373g79r++MeXDx/yr9p+9Zdvv//r5ff3Xz58/uPlu89/fvr07uX/3n/6s/6j//7+/nNt/3j/5fzTM/rh8y/n9gz++vHTh9Tf7/jbx+NfzauH6ndd9y+PV/92z7eK9evnCaAbv5+LawVy93lUkCe3IAbuwXmy4+F90MeF8wQGbsN51uLhvRiPC+c7bDwDJ9utQl5XsQpx3LkX4ijI+QnwUWE+LpxvH/BIjie34dmz6Xt3OE+vx6NCe5KYLa+nrsQ8Gw8T7cljaXny4XoszxeNO8/G6wrPno36Qu16Ns6TcrcKwoLMtxb01sqoI+0qzMfPpz95KOfALnHS7iXyqLoSPm4lYj8UGnoz4ftWRNx6NPuxjzPnVxe3CsKCHm8ujFsFG7sQD+9Ff7K8RtuJk3Yr0fOLuStxftN0L6FMjHt3hI/mWfNbCdkHivPD7a0nRBqOmOeJab9VUBY03loYeufFR/veJ87zfbcKErvweNd++gLI52K0ewXdt+H8LH2nYMcunJ/JbhV4G+zmbZh7tz7fI9/ZH7Tvl57z1OqtwmBhzLcWTG4V8irlVZjjrYW49UbiPPWHwnm27s2FW6t77JUl4/F7Mn22S80DD8TJeS/R2048Oc49TXDHnnEvEbJvRei9xyL2p4XzhNC4lwg8I+f5o1u34jzHNHbiyXuJpwljYt5MBN5hWjvarUTbx5rzxNe4lzAm/NZCH3MvkfP83J2CNRbuvYx/XZB+q6C2C0PfWrBb71CNn2PP16E3F269dDjfqXs73ly49QLo/PTm9z7/fV249/nPB+/FfFjwJx/Gz0/S+0jV/biX2OclTsathOg+zMi4mYh9K/TxK9jThO6PC+e5ar+XsLYTdvNWTLwUn+e7+60E3xCc577lXsLmTtzctUbshN18RkxsJ8a9vdP4IvjkDObzROzEeRr5zkKdB3ZOmY8PFvPJB9HzlP5+ND3iVmK2vX/Pdu9WzH0++jx030tE37cixO8luMri8Rve54nYbykibt2K8ysH7Jzn9wztXmKfHD+/iZj3Evu4d74UjluJtvdv78ettzZznxWWafcKk4UZby3Erbd4sT/bSzR/a6HfenMU+4gnce9NwdeFcevNUfC0cnh/c+HWs8lPUHo8PkPRjmf7texPpCf7zcb+ysTl8VcN32jEPlBou9lQ3bdDH79xf97g+TMf7ebjMfrcjcdH7280lI0xbjb2hwgfT776eNqwthvW7zZ0H36fvEP5RmO/B3ebd9a8HsrVYuPW17Rzfxg5jsf3oz35mK78pK/tybc4+TH4jV/VfqPxqi9rnzde9xXjNx6PfRQ8OW42xmTD3t7wu/cl2m5Ev9mYgw35FxrzXqPv98Ha+93GPoZp98f3RY63f/f6vPG6L1+fNl757evzxqu+fv3GYxp8Xu7uH30aG/ovNOJeQxpeF86zCncbPKrL41NtTeLN3+U+b7zuy9xvNF71be43Gq/6Ovd543Xf5z5/XvTYx0I9bh4LZX/mOhvyLzRuHsd0fxpXfXxm4ulFRfv77eZP9nR98qzMYzfm8fhb1TaOZ3vHfgczenBPP090/LPx7EyP89yE63zYeH5f9ueveeiTveNfeBP07P3Lsd972LPPHE/uSG+4FbP3cSvBV+vZ4uat2N9YzG43E/vz15Sbj4WI7ITeu3JOjAlvb0/YvcQ+73VyvjXx7ND1LKHNd+LmrvV1Qu49nPxMPXXI2xP3Hk71vhPzeHvin/vFD+dP73/++OUf/2jQ39n68vH9T58+rB9//fPzz1/96R///zv+BP/o0O9ffvv5wy9/fvmQpfyz618e6i/ffd9Cj3ctbPzw7kXz5/OM4rvmrufPXj/7eNdma+fPM38+jwvnz9POn6N+Pr/yOD8RxPlz/pWoDJxBbxnMv0KRv9GzoD/8nXfpfw==", + "debug_symbols": "rd3Ljhw3toXhd6mxBkFyX0i/imEYsi03BAiyobYPcGD43Tv2JheXPMhUgeVJx1ct17/zxsiMyBD018svH3768z8/fvz862//ffnu+79efvry8dOnj//58dNvP7//4+Nvn+//96+XK/6n6Mt35d1LsbnxuelzM3JTr7kpc1Pnps2NzM2s1Fmps1Jnpc5Km5U2K+2u1HvT5kbmRufG5uau2L3pczNyI9fclLmpc9PmRubmrvi9uSvj3vjcxG25ozLmVq+1LWtb17atraytrq2tra/t6unq2erZ6tnq2erZ6tnqefx5u7dtbWVtdW1tbX1t+9qOuR337+u9aXMjc6NzY3Pjc9PnZuSmXHFDJVCACjQgbkz+xwoYELfHAh0YC+UCotwDFWiAAAoY4EAHxkK+ABMoV5QryhXlfNWNwFjIV16iABVogAAKxKvwCjjQgbEQr8aJAlSgAQIogLKgLCgLyoqyoqwoK8qKsqKsKCvKiqAhaAgagoagIWgIGoIWwdxPdGAs+AUUoAINEEABA1B2lB3ljnJHuaPcUe4od5Q7yh3BjuCIV4IHClCBBgiggAEORLkGxkSNZTVRgLipLdAAAeKmSsAABzowFmJZVQsUoAINEEABAxzowFioKFeUK8oV5YpyRbmiXFGuKFeUG8oN5Vw7Hu8XFWiAAAoY4MD+9bGQCyRRgCj3QJRHQAAFDHCgA2MhV0qiABVAx9AxdAwdQ8fRcXQcnVgX7QoIoIABDnRgLMS6mChABVDuKHeUO8od5Y5yR3mgPFAeKA8EB4KxLqoGHOjAmGi5LhIFqEADopyfEBQwwIEOxE2NTwexLiYKEDe1BRoggAIGRFkCHRgLsS4mClCBBgiggAEoV5Qryg3lhnJDuaHcUG4oN5Qbyg3leN9p8RjGsppogAAKGOBAB+IWxqesWFYTBahAAwRQwAAHOoCyoWwoG8qGsqFsKBvKhrKhbCg7yo6gI+gIOoKOoCPoCDqCub48UIAKNEAABQxwoANjYaA8UB4oD5QHygPlgfJAeaA8VlliNcXn3FhMudW1XR+Dr/U5OBZSbsfcxjLKbVnburZxc3pAAAUMcKADYyHXUKIACFYEK4IVwYpgRbAi2BBsCObSSUQ5bnMunYQCBjjQgbEQH+ImClABlAVlQVlQFpQF5VhMcsWByAUUoAINEEABAxzowF2OexxrKbdlbevatrWVtdW1tbWNYgl0YCzEIpqI2xpHSrGaJuK2toAAChgQZQl0IMoaR14XUIAKRDkO2WI1TSgQ5Xhhx2qa6MBYiNUk8YjHapqoQAMEUMAABzowJvS6gAJUoAECKGCAAx1AuaBcUI4FpldAAQMc6MBYiAU2UYA4JCyBBgiggAEOdGAsxEqbKADKDeWGckO5odxQbig3lAVlQVlQFpQFQUFQEBQEBUFFUBFUBGOBaR7AC6CAAQ50YCzECpsoQAVQNpQNZUPZUDaUDWVH2VF2lB1BR9ARdAQdQUewI9gR7Ah23NRYX9oCChjgQAfGQqyviQJUIDoSMMCBDowJi9U0UYAKxC3UgAAKGOBAB8ZCrKaJAiBYECwIFgQLggXBgmBFsCKYyyoRZQsIoIABDnRgLOSyShQgft0DBjjQgbGQaydRgArEDesBARQwwIEOjIVcRIkCIKgIKoKKoCKoCCqChqAhmGsnEeUREEABAxzowFjItZMoQAVitxwj8k0qoYABDnRgLOSbVCLOLF6BCjRAgLtsJWBAnKuM03uxiCbGQiyiiSi3QAWiHKsg3qQmFDAgyvHyi2U1EeX79eOxrCYKUIEoe0CAKPeAAQ50IMr3g+mxrCYKcJf9CjRAAAXusse5zVhfEx0YC7G+JgpQgQYIoADKFeWKckW5odxQbig3lBvKDeWGckM5FprnGdkCVKABAihggANxCyUwFmKhTRSgAg0QQAEDHEBZUTaUDWVD2VA2lA1lQ9lQNpQNZUfQEXQEHUFH0BF0BB3BWGiucR77AgpQgQYIoIABDnQA5YHyQHmgPFAeKA+UB8oD5bHK/bqAAlSgAQIoYIADO7huao/15RYoQAUaIIACBjjQF3I1eaACDRBAAQMc6EDcwntX0HM1JQpQgQYIoIABDiAoCOayGoEKNEAABQxwoANjIZdVAmVFWVFWlBXlWFb9CjjQgbGQh1klUIAKNCAOtWpAAQMc6MBYiDeyiSi3QAUaIECUJWCAAx2IcrwSYn1NFKACDRBAAQMc6ADKA+WB8kB5oDxQHigPlAfKA+WxyuO6gOh4QAAFDHCgA2MhltVE3MIeqEADBFDAAAc6MBbibWsC5YpyRbmiXFGuKFeUK8oV5YZyQ7mh3BBsCDYEG4INwYagICgIxkLrI9AAARQwwIEOjIVYaBMFQFlRVpQVZUVZUVaUFWVD2VA2BA1BQ9AQNAQNQUPQEXQEHTc11te4AgIoYIADHRgLsb4mChCdElDAAAc6MBZiNU0UIM681UADBFDAAAc6MCbub3ivrbJVt9qWbOmWbcWElupbA8rThlNlq261LdnSrV0uu1x2ue5y3eW6y3WX6y7XXY4FtxQz5rfbfWtAseiWylbdaluypVu2tWe0PaPtGbJnyJ4he4bsGbJnyJ4he4bsGbJnyJ6he4buGbpnxKIc82t82dIt2/KtvjWgWJtLZatu7Rm2Z9ieYXuG7Rm2Z9ie4XuG7xm+Z+Q74pRs6ZZt+VbfGlC+MU7FjHkNQ91qW7IV98NTthX3o6f61oByUU/FjJGqW/EV83UlhVTSyPiq+SrJTsYlDVcsz3kdx2IhK5nTWlLInCZJI53sZE6bV3RcZCEr2UghlTTSyU5yWuW0ymmV0yqnVU6rnFY5rXJa5bTKaY3T8nKQy5NCKmmkk50cm3KReS/mBTCVbKSQShrpZCfHZl7QtMhpymnKacppymnKacppymnKacZpxmnGacYRxhHGEcYRxhHGEc4RzhF53dQ1ko0UUkkjnezk2OwXWUhO65zWOa1zWue0zmmd0zqnDU4bnDY4YnBE7h/KlTTSyU4OMC9IAQtZyUYKqaSRTnaS0wqnFU4rnFY4rXBa4bTCaYXTCqcVTqucVjmtclrltNw/lJJU0kjfzD1BXJ1X8sIVsJKNFFJJI53Me9GSYzP3D4uFrGQjhVTSSI4QjlCOUI5QjlCOUI5QjlCOyJ3CYk6T5NjMncJiISvZSCGVNDK78X6dF9KAhaxkI4VU0si8F5bs5NjMPcFiISvZSCGV5Ihc/nnJWF5js5jLf7GQeclovmhzT7AopJJGOtnJAeYlOGAhK9lIIZU00smcFgsnL7gpeUFcXnIDKmmkk50cm7m6FwtZSU6rnFY5rXJa5bTKaZXTGqfleosL9EpePAMqmV1JOpldTY7NeYHxZCHzXliykULmNE8amdN6spNjc15+PJnTRrKSjRQyrzbOpzCX3qKTnRybuSAXC1nJRgrJac5pzmnOabn0Wj4tufQWGymkkkY62cm8F/ls5ipcLGQlGymkkkY62ck9Ta6LLGQlGymkkkY62UlOK5xWOKJwROGIwhGFIwpHFI4oHJHLNC5CK3mND1jJRgqppJFOdnJsNk5rnNY4rXFa47TGaY3TGqc1TmucJhwhHJH7h7hcruT1QKCSOcKSTuYIT47N3D8sFjKn9WQjhVQypkleNZ77h8VOjs3cPywWspKNFFJJTjNOM04zTnNOc05zTnNOc05zTnNOc07LPUFcpFTy8iDQyU6OzVzoi4VkLBf6opBK5rSazGm5AnKhLw5Q51+wmCxkJRsppJJGslvYLewWdgu7hd3CbmE3V3dcplXy0iJwbObqXixkJRsppJJGclrltMppjdMapzVOa5zWOK1xWuO0xhGNI/LTdlx0VvLqI7CSOcKSQuYITxrpZCdzWqzNvDAJLGQlY1pcmlPyAiVQSSOd7OTYzNW9WMiYpvl05+rWfBxydS8qaaSTnRybuboXC1lJTnNOc05zTnNOc07Ld3/NpyVX92Inx2au7sX84J3qW2PJ5hFxqmzVrbzRlhRSSSOd7OTYzFUZ1+aUvB4JFFJJI53s5NjMVTlH5KpcrCTvReW9qLwXlfei8l7kqowLdEper7SYq3KxkJVspJBKGskRjSOEI4QjhCOEI4QjhCNyVcYVQCWvcQLHZi7FxRgRV/DcrGQjhYwRli+NXIqLMSKu5il53RM4NnMpLua0lqxkTpOkkEoamdM02cmcls9bLsXFQlYyp+VrJ5fiYk7Lhy+X4qKTncxp+fDlkfFiTPN8oPJNebGRkvz773cv+DunP/7x5cOH+CunX/0l1O//evn9/ZcPn/94+e7zn58+vXv5v/ef/sz/6L+/v/+c2z/ef7n/9I5++PzLvb2Dv3789CH09zv+9vX4V+NqnPxdl/3L+urfrvHRLn/9PgFy8PvxUluBeNgeFdqTWzAU9+A+2H94H+Rx4T6Ax224j9of3gt9XLg/YeIZuFmOCnGdwiqM6+ReNEeh3UdAjwr9ceF++8QjqU9uw7Nn0/fL4T69PB4VypNEL3F9cib63XiYKE8eS4uTBfOxvPebJ8/G6wrPno38omo+G/fJrqNCY6H1txbkaGXknnYV+uPn0588lF3xkrhpZ4nYq66E61Fi7IfiPoY5TPi+FWMcPZr12vuZ+9T9UaGxINebC3pUMN2F8fBe1CfLS8tO3LSjRI0vvGbi/qblLCFM6Nkd4aN51/wo0faO4j64O3pCWsEes90ndI8KwoKMtxZUTt58pO7XxH3q66jQxi48fmk/fQPkc6HlrCD7NtzHkicFu3bhPkg5KvA22OFt6PtlbePoFSV1v/XcpxaPCsqC9rcWrB0V4qrfVej61sI4+iBxn/pC4T6H9ebC0erWvbLu71oeP5vPXlL9wgNxs58latmJJ/u5pwm+sPs4S4y2b8WQs8di7KOF+0yMniUGnpH7xM3RrbhP7uhOPPks8TRhTPTDxMAnTCtXOUqUva+5TyfpWcKY8KOFrn0vkfu02EnBCgtnb+NfF1o9KojtgspbC3b0CdV4HHu/D725cPTW4fyk7uV6c+HoDdB59OZnx39fF86O/1x5L/rDgj85GL+PpPeeqvp1ltjnJW6Oo0STvZtpepgY+1bI43ewpwnZhwv36Vo/S1jZCTu8FR1vxffZ33qU4AeC+0xwO0tY34nDl5aOnbDDZ8Sa7YSevTqNb4JPzmA+T4yd8OtoofYLL87WH+8s+pMD0ftU9n40fYyjRC/79d3L2a3o+3z0ves+S4y6b8VofpbgKhuPP/A+T4z9kWKMo1vhV8GL069WzhL75Lhf1s8Se793vxXqUaLs17fX6+ijTd9nhVu3s0JnoY+3FsbRR7yxj+3bKP7WQj36cDT2Hq+Nsw8FXxf06MPR4Gnl4fXNhaNnk0dQcj0+Q1GuZ6/rto9Ib9bDxv7KxNvjrxq+0Rh7RyHlsCGyb4c8/uD+vMHzZ67l8PHQ2nfj8d77Gw1hQ/WwsQ8iXJ989fG0YWU3rJ42ZO9+n3xC+UZjfwZ36ydrXi7hajE9+pq274OR63p8P8qTw3Thkb6UJ9/ixGHwG7+q/UbjVV/WPm+87ivGbzweey94Uw8b2tmwtzf89L6MshujHja6stH+hUY/a9T9OVhqPW3sfZhUf3xf2vX2716fN1735evTxiu/fX3eeNXXr994TAefl9PXR+3GhvwLjXHWaAXvC/dZhdMG9+rt8am20sabv8t93njdl7nfaLzq29xvNF71de7zxuu+z33+vMi194VyHe4L2z7muhvtX2gc7sdkH42LPD4z8fSiov39dvEnr3R58qz0azf69fhb1aLXs1fH/gSjdfCVfp/o+Gfj2Zke57kJl/6w8fy+7OOvfsmTV8e/8CHo2eeXa3/2sGfHHE/uSC24Fb1WPUrw3bqXcXgr9jcWvdphYh9/9Xb4WLTWdkLOrpxrxoSXtyfsLLHPe93sb00823U9S0jxnTh8aX2daGcPJ4+pu2h7e+Ls4RSvO9Gvtyf++br44f7p/c8fv/zjH8/5O1pfPr7/6dOH9eOvf37++as//eP/f8ef4B/f+f3Lbz9/+OXPLx+iFH82/wWe+vLd9/fStndlSPnh3YvEz3HC/P6i9rp/9vj5Pt1w/9z9/rnnz/e3yqVbvX8e8XO/X9d3RO+f4y8K3YH7E9hdiWD8daH7N3q/C+P64e+4S/8D", "file_map": { "18": { "source": "pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n \"BIT_SIZE must be less than modulus_num_bits\",\n );\n __assert_max_bit_size(self, BIT_SIZE);\n }\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = __to_le_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = __to_be_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n fn to_le_radix(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n __to_le_radix(self, radix)\n }\n\n fn to_be_radix(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, \"radix must be greater than 1\");\n static_assert(radix <= 256, \"radix must be less than or equal to 256\");\n static_assert(radix & (radix - 1) == 0, \"radix must be a power of 2\");\n }\n __to_be_radix(self, radix)\n }\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n \"N must be less than or equal to modulus_le_bytes().len()\",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(apply_range_constraint)]\nfn __assert_max_bit_size(value: Field, bit_size: u32) {}\n\n// `_radix` must be less than 256\n#[builtin(to_le_radix)]\nfn __to_le_radix(value: Field, radix: u32) -> [u8; N] {}\n\n// `_radix` must be less than 256\n#[builtin(to_be_radix)]\nfn __to_be_radix(value: Field, radix: u32) -> [u8; N] {}\n\n/// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n/// This slice will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_le_bits)]\nfn __to_le_bits(value: Field) -> [u1; N] {}\n\n/// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_be_bits)]\nfn __to_be_bits(value: Field) -> [u1; N] {}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n // Safety: unconstrained context\n unsafe {\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime};\n use super::field_less_than;\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n // 259, in base 256, big endian, is [1, 3].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n // 259, in base 256, little endian, is [3, 1].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = \"radix must be greater than 1\")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f\"radix must be greater than 1\");\n }\n }\n\n // TODO: Update this test to account for the Brillig restriction that the radix must be greater than 2\n //#[test]\n //fn test_to_le_radix_brillig_1() {\n // // this test should only fail in constrained mode\n // if runtime::is_unconstrained() {\n // let field = 1;\n // let out: [u8; 8] = field.to_le_radix(1);\n // crate::println(out);\n // let expected = [0; 8];\n // assert(out == expected, \"unexpected result\");\n // }\n //}\n\n #[test(should_fail_with = \"radix must be a power of 2\")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(f\"radix must be a power of 2\");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, \"unexpected result\");\n }\n }\n\n #[test(should_fail_with = \"radix must be less than or equal to 256\")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(f\"radix must be less than or equal to 256\")\n }\n }\n\n // TODO: Update this test to account for the Brillig restriction that the radix must be less than 512\n //#[test]\n //fn test_to_le_radix_brillig_512() {\n // // this test should only fail in constrained mode\n // if runtime::is_unconstrained() {\n // let field = 1;\n // let out: [u8; 8] = field.to_le_radix(512);\n // let mut expected = [0; 8];\n // expected[0] = 1;\n // assert(out == expected, \"unexpected result\");\n // }\n //}\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n}\n",