diff --git a/cranelift/codegen/src/isa/zkasm/abi.rs b/cranelift/codegen/src/isa/zkasm/abi.rs index 76df16e0a54d..a3426e906200 100644 --- a/cranelift/codegen/src/isa/zkasm/abi.rs +++ b/cranelift/codegen/src/isa/zkasm/abi.rs @@ -94,21 +94,6 @@ impl ABIMachineSpec for ZkAsmMachineDeps { continue; } - // For now we pin VMContext register to `CTX` register of ZK ASM. - if let ir::ArgumentPurpose::VMContext = param.purpose { - let mut slots = ABIArgSlotVec::new(); - slots.push(ABIArgSlot::Reg { - reg: context_reg().to_real_reg().unwrap(), - ty: I32, - extension: param.extension, - }); - args.push(ABIArg::Slots { - slots, - purpose: param.purpose, - }); - continue; - } - // Find regclass(es) of the register(s) used to store a value of this type. let (rcs, reg_tys) = Inst::rc_for_type(param.value_type)?; let mut slots = ABIArgSlotVec::new(); diff --git a/cranelift/codegen/src/isa/zkasm/inst/regs.rs b/cranelift/codegen/src/isa/zkasm/inst/regs.rs index 9363480313c1..b0cb463dc645 100644 --- a/cranelift/codegen/src/isa/zkasm/inst/regs.rs +++ b/cranelift/codegen/src/isa/zkasm/inst/regs.rs @@ -128,7 +128,7 @@ pub fn create_reg_environment() -> MachineEnv { let preferred_regs_by_class: [Vec; 3] = { // Registers are A, B, C, D, E. let x_registers: Vec = (5..=7) - .chain(10..=12) + .chain(10..12) .map(|i| PReg::new(i, RegClass::Int)) .collect(); @@ -139,11 +139,6 @@ pub fn create_reg_environment() -> MachineEnv { let non_preferred_regs_by_class: [Vec; 3] = { let x_registers: Vec = Vec::new(); - // (9..=9) - // .chain(18..=27) - // .map(|i| PReg::new(i, RegClass::Int)) - // .collect(); - let f_registers: Vec = Vec::new(); let v_registers = vec![]; [x_registers, f_registers, v_registers] diff --git a/cranelift/wasm/src/environ/zkasm.rs b/cranelift/wasm/src/environ/zkasm.rs index 54b405aae22b..07d433ce9d45 100644 --- a/cranelift/wasm/src/environ/zkasm.rs +++ b/cranelift/wasm/src/environ/zkasm.rs @@ -227,15 +227,9 @@ impl<'zkasm_environment> ZkasmFuncEnvironment<'zkasm_environment> { } } - /// Create a signature for `sigidx` amended with a `vmctx` argument after - /// the standard wasm arguments. - pub fn vmctx_sig(&self, sigidx: TypeIndex) -> ir::Signature { - let mut sig = self.mod_info.signatures[sigidx].clone(); - sig.params.push(ir::AbiParam::special( - self.pointer_type(), - ir::ArgumentPurpose::VMContext, - )); - sig + /// Create a signature for `sigidx`. + pub fn func_sig(&self, sigidx: TypeIndex) -> ir::Signature { + self.mod_info.signatures[sigidx].clone() } fn reference_type(&self) -> ir::Type { @@ -318,7 +312,6 @@ impl<'zkasm_environment> FuncEnvironment for ZkasmFuncEnvironment<'zkasm_environ func: &mut ir::Function, index: GlobalIndex, ) -> WasmResult { - // Just create a zkasm `vmctx` global. let offset = i32::try_from((index.index() * 8) + 8).unwrap().into(); Ok(GlobalVariable::Memory { gv: ZkasmFuncEnvironment::globals_base(func), @@ -375,9 +368,7 @@ impl<'zkasm_environment> FuncEnvironment for ZkasmFuncEnvironment<'zkasm_environ func: &mut ir::Function, index: TypeIndex, ) -> WasmResult { - // A real implementation would probably change the calling convention and add `vmctx` and - // signature index arguments. - Ok(func.import_signature(self.vmctx_sig(index))) + Ok(func.import_signature(self.func_sig(index))) } fn make_direct_func( @@ -386,9 +377,7 @@ impl<'zkasm_environment> FuncEnvironment for ZkasmFuncEnvironment<'zkasm_environ index: FuncIndex, ) -> WasmResult { let sigidx = self.mod_info.functions[index].entity; - // A real implementation would probably add a `vmctx` argument. - // And maybe attempt some signature de-duplication. - let signature = func.import_signature(self.vmctx_sig(sigidx)); + let signature = func.import_signature(self.func_sig(sigidx)); let name = ir::ExternalName::User(func.declare_imported_user_function(ir::UserExternalName { namespace: 0, @@ -446,12 +435,6 @@ impl<'zkasm_environment> FuncEnvironment for ZkasmFuncEnvironment<'zkasm_environ callee: ir::Value, call_args: &[ir::Value], ) -> WasmResult { - // Pass the current function's vmctx parameter on to the callee. - let vmctx = builder - .func - .special_param(ir::ArgumentPurpose::VMContext) - .expect("Missing vmctx parameter"); - // The `callee` value is an index into a table of function pointers. // Apparently, that table is stored at absolute address 0 in this zkasm environment. // TODO: Generate bounds checking code. @@ -465,12 +448,10 @@ impl<'zkasm_environment> FuncEnvironment for ZkasmFuncEnvironment<'zkasm_environ let mflags = ir::MemFlags::trusted(); let func_ptr = builder.ins().load(ptr, mflags, callee_offset, 0); - // Build a value list for the indirect call instruction containing the callee, call_args, - // and the vmctx parameter. + // Build a value list for the indirect call instruction containing the callee and call_args. let mut args = ir::ValueList::default(); args.push(func_ptr, &mut builder.func.dfg.value_lists); args.extend(call_args.iter().cloned(), &mut builder.func.dfg.value_lists); - args.push(vmctx, &mut builder.func.dfg.value_lists); Ok(builder .ins() @@ -508,17 +489,9 @@ impl<'zkasm_environment> FuncEnvironment for ZkasmFuncEnvironment<'zkasm_environ callee: ir::FuncRef, call_args: &[ir::Value], ) -> WasmResult { - // Pass the current function's vmctx parameter on to the callee. - let vmctx = builder - .func - .special_param(ir::ArgumentPurpose::VMContext) - .expect("Missing vmctx parameter"); - - // Build a value list for the call instruction containing the call_args and the vmctx - // parameter. + // Build a value list for the call instruction containing the call_args. let mut args = ir::ValueList::default(); args.extend(call_args.iter().cloned(), &mut builder.func.dfg.value_lists); - args.push(vmctx, &mut builder.func.dfg.value_lists); Ok(builder .ins() @@ -948,7 +921,7 @@ impl<'data> ModuleEnvironment<'data> for ZkasmEnvironment { let func_index = FuncIndex::new(self.get_num_func_imports() + self.info.function_bodies.len()); - let sig = func_environ.vmctx_sig(self.get_func_type(func_index)); + let sig = func_environ.func_sig(self.get_func_type(func_index)); let mut func = ir::Function::with_name_signature(UserFuncName::user(0, func_index.as_u32()), sig); diff --git a/cranelift/zkasm_data/benchmarks/fibonacci/generated/from_rust.zkasm b/cranelift/zkasm_data/benchmarks/fibonacci/generated/from_rust.zkasm index 0801c3c6009f..45465858c677 100644 --- a/cranelift/zkasm_data/benchmarks/fibonacci/generated/from_rust.zkasm +++ b/cranelift/zkasm_data/benchmarks/fibonacci/generated/from_rust.zkasm @@ -10,60 +10,60 @@ function_1: D :MSTORE(SP - 2) E :MSTORE(SP - 3) B :MSTORE(SP - 4) - 1n => C ;; LoadConst64(1) + 1n => D ;; LoadConst64(1) 0n => B ;; LoadConst64(0) 42949672960000n => A ;; LoadConst32(10000) - A => E - C => A + A :MSTORE(SP) + D => A :JMP(label_1_1) label_1_1: - $ => C :ADD + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => C :ADD + E => A + $ => E :ADD A => B - C => A - $ => D :ADD - A :MSTORE(SP) - 18446744030759878656n => B ;; LoadConst32(4294967286) E => A + $ => E :ADD + A => D + 18446744030759878656n => B ;; LoadConst32(4294967286) + $ => A :MLOAD(SP) $ => A :ADD A => C - A => E + A :MSTORE(SP) C => B 0 => A $ => A :EQ A :JMPZ(label_1_2) :JMP(label_1_3) label_1_2: - C => E - $ => B :MLOAD(SP) - D => A + D => B + C :MSTORE(SP) + E => A :JMP(label_1_1) label_1_3: 15574651946073070043n => B ;; LoadConst64(15574651946073070043) - $ => A :MLOAD(SP) + D => A B :ASSERT $ => C :MLOAD(SP - 1) $ => D :MLOAD(SP - 2) diff --git a/cranelift/zkasm_data/benchmarks/sha256/generated/from_rust.zkasm b/cranelift/zkasm_data/benchmarks/sha256/generated/from_rust.zkasm index bb6da8bea3c2..1183e6270afc 100644 --- a/cranelift/zkasm_data/benchmarks/sha256/generated/from_rust.zkasm +++ b/cranelift/zkasm_data/benchmarks/sha256/generated/from_rust.zkasm @@ -5,19 +5,17 @@ start: function_1: SP + 1 => SP RR :MSTORE(SP - 1) - SP + 17 => SP + SP + 19 => SP C :MSTORE(SP - 1) D :MSTORE(SP - 2) E :MSTORE(SP - 3) B :MSTORE(SP - 4) - CTX :MSTORE(SP - 5) - CTX :MSTORE(SP) 65536 => E ;; LoadExtName(User(userextname0)) ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 8) 1030792151040n => B ;; LoadConst32(240) $ => A :SUB - A :MSTORE(SP + 80) + A :MSTORE(SP + 112) 65536 => E ;; LoadExtName(User(userextname0)) ${ E >> 32 } => E A :MSTORE(MEM:E + 8) @@ -26,104 +24,117 @@ function_1: D => A 34359738368n => B ;; LoadConst32(8) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => D ;; LoadConst64(0) + D :MSTORE(SP + 8) 4294967296n => B 0 => D 0 => C ${E / B} => A E:ARITH A => B - E :MSTORE(SP + 32) + E :MSTORE(SP + 16) 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 8) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + D :MSTORE(MEM:E) 34359738368n => B ;; LoadConst32(8) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD E => A 68719476736n => B ;; LoadConst32(16) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP) 4294967296n => B 0 => D 0 => C ${E / B} => A E:ARITH A => B - E :MSTORE(SP + 24) + E :MSTORE(SP + 8) 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 34359738368n => B ;; LoadConst32(8) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => B :ADD B => A 103079215104n => B ;; LoadConst32(24) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP + 104) 4294967296n => B 0 => D 0 => C ${E / B} => A E:ARITH A => B - E :MSTORE(SP + 16) + E :MSTORE(SP) 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 104) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 171798691840n => B ;; LoadConst32(40) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP + 96) 4294967296n => B 0 => D 0 => C ${E / B} => A E:ARITH A => B - E :MSTORE(SP + 8) + E :MSTORE(SP + 104) 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 96) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 34359738368n => B ;; LoadConst32(8) - $ => A :MLOAD(SP + 80) - $ => CTX :ADD - CTX => A + $ => A :MLOAD(SP + 112) + $ => C :ADD + C => A 171798691840n => B ;; LoadConst32(40) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => C ;; LoadConst64(0) + C :MSTORE(SP + 88) 4294967296n => B 0 => D 0 => C ${E / B} => A E:ARITH A => B - E :MSTORE(SP + 72) + E :MSTORE(SP + 96) 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 88) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + C :MSTORE(MEM:E) 227633266688n => B ;; LoadConst32(53) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => D ;; LoadConst64(0) + D :MSTORE(SP + 64) 4294967296n => B 0 => D 0 => C ${E / B} => A E:ARITH A => B - E :MSTORE(SP + 64) + E :MSTORE(SP + 88) 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 64) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) - 0n => CTX ;; LoadConst64(0) - $ => E :MLOAD(SP + 80) + D :MSTORE(MEM:E) + 0n => B ;; LoadConst64(0) + $ => E :MLOAD(SP + 112) + B :MSTORE(SP + 64) 4294967296n => B 0 => D 0 => C @@ -132,15 +143,16 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 64) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 8) + B :MSTORE(MEM:E + 8) 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) - $ => E :ADD - E => A + $ => A :MLOAD(SP + 112) + $ => B :ADD + B => A 103079215104n => B ;; LoadConst32(24) $ => E :ADD - E :MSTORE(SP + 56) + E :MSTORE(SP + 64) 0n => E ;; LoadConst32(0) 4294967296n => B 0 => D @@ -151,8 +163,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1048600) - $ => E :MLOAD(SP + 56) + $ => B :MLOAD(MEM:E + 1048600) + $ => E :MLOAD(SP + 64) + B :MSTORE(SP + 56) 4294967296n => B 0 => D 0 => C @@ -161,10 +174,11 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 56) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => B :ADD B => A 68719476736n => B ;; LoadConst32(16) @@ -180,8 +194,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1048592) + $ => B :MLOAD(MEM:E + 1048592) $ => E :MLOAD(SP + 56) + B :MSTORE(SP + 48) 4294967296n => B 0 => D 0 => C @@ -190,15 +205,16 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 48) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) - $ => B :ADD - B => A + $ => A :MLOAD(SP + 112) + $ => C :ADD + C => A 34359738368n => B ;; LoadConst32(8) $ => E :ADD - E :MSTORE(SP + 56) + E :MSTORE(SP + 48) 0n => E ;; LoadConst32(0) 4294967296n => B 0 => D @@ -209,8 +225,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1048584) - $ => E :MLOAD(SP + 56) + $ => C :MLOAD(MEM:E + 1048584) + $ => E :MLOAD(SP + 48) + C :MSTORE(SP + 40) 4294967296n => B 0 => D 0 => C @@ -219,12 +236,13 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 40) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + C :MSTORE(MEM:E) 476741369856n => B ;; LoadConst32(111) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 56) + E :MSTORE(SP + 40) 0n => E ;; LoadConst32(0) 4294967296n => B 0 => D @@ -235,8 +253,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1048615) - $ => E :MLOAD(SP + 56) + $ => D :MLOAD(MEM:E + 1048615) + $ => E :MLOAD(SP + 40) + D :MSTORE(SP + 32) 4294967296n => B 0 => D 0 => C @@ -245,8 +264,9 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 32) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + D :MSTORE(MEM:E) 0n => E ;; LoadConst32(0) 4294967296n => B 0 => D @@ -257,8 +277,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1048576) - $ => E :MLOAD(SP + 80) + $ => A :MLOAD(MEM:E + 1048576) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 32) 4294967296n => B 0 => D 0 => C @@ -267,10 +288,12 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 32) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 64) - 0n => CTX ;; LoadConst64(0) - $ => E :MLOAD(SP + 80) + D :MSTORE(MEM:E + 64) + 0n => B ;; LoadConst64(0) + $ => E :MLOAD(SP + 112) + B :MSTORE(SP + 32) 4294967296n => B 0 => D 0 => C @@ -279,8 +302,9 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 32) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 96) + B :MSTORE(MEM:E + 96) 0n => E ;; LoadConst32(0) 4294967296n => B 0 => D @@ -291,8 +315,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1048608) - $ => E :MLOAD(SP + 80) + $ => B :MLOAD(MEM:E + 1048608) + $ => E :MLOAD(SP + 112) + B :MSTORE(SP + 32) 4294967296n => B 0 => D 0 => C @@ -301,13 +326,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 32) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 104) + B :MSTORE(MEM:E + 104) 493921239040n => B ;; LoadConst32(115) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 56) - $ => E :MLOAD(SP + 80) + E :MSTORE(SP + 32) + $ => E :MLOAD(SP + 112) 4294967296n => B 0 => D 0 => C @@ -317,8 +343,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 8) - $ => E :MLOAD(SP + 56) + $ => C :MLOAD(MEM:E + 8) + $ => E :MLOAD(SP + 32) + C :MSTORE(SP + 24) 4294967296n => B 0 => D 0 => C @@ -327,13 +354,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 24) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + C :MSTORE(MEM:E) 528280977408n => B ;; LoadConst32(123) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) - $ => E :MLOAD(SP + 32) + E :MSTORE(SP + 24) + $ => E :MLOAD(SP + 16) 4294967296n => B 0 => D 0 => C @@ -343,8 +371,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => D :MLOAD(MEM:E) + $ => E :MLOAD(SP + 24) + D :MSTORE(SP + 16) 4294967296n => B 0 => D 0 => C @@ -353,13 +382,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 16) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + D :MSTORE(MEM:E) 562640715776n => B ;; LoadConst32(131) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) - $ => E :MLOAD(SP + 24) + E :MSTORE(SP + 16) + $ => E :MLOAD(SP + 8) 4294967296n => B 0 => D 0 => C @@ -369,8 +399,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => A :MLOAD(MEM:E) + $ => E :MLOAD(SP + 16) + A :MSTORE(SP + 8) 4294967296n => B 0 => D 0 => C @@ -379,13 +410,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 8) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + C :MSTORE(MEM:E) 597000454144n => B ;; LoadConst32(139) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) - $ => E :MLOAD(SP + 16) + E :MSTORE(SP + 8) + $ => E :MLOAD(SP) 4294967296n => B 0 => D 0 => C @@ -395,8 +427,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => B :MLOAD(MEM:E) + $ => E :MLOAD(SP + 8) + B :MSTORE(SP) 4294967296n => B 0 => D 0 => C @@ -405,13 +438,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 631360192512n => B ;; LoadConst32(147) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) - $ => E :MLOAD(SP + 8) + E :MSTORE(SP) + $ => E :MLOAD(SP + 104) 4294967296n => B 0 => D 0 => C @@ -421,8 +455,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => B :MLOAD(MEM:E) + $ => E :MLOAD(SP) + B :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -431,13 +466,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 665719930880n => B ;; LoadConst32(155) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) - $ => E :MLOAD(SP + 72) + E :MSTORE(SP + 80) + $ => E :MLOAD(SP + 96) 4294967296n => B 0 => D 0 => C @@ -447,8 +483,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => C :MLOAD(MEM:E) + $ => E :MLOAD(SP + 80) + C :MSTORE(SP + 72) 4294967296n => B 0 => D 0 => C @@ -457,13 +494,14 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 72) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + C :MSTORE(MEM:E) 687194767360n => B ;; LoadConst32(160) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) - $ => E :MLOAD(SP + 64) + E :MSTORE(SP + 72) + $ => E :MLOAD(SP + 88) 4294967296n => B 0 => D 0 => C @@ -473,8 +511,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => D :MLOAD(MEM:E) + $ => E :MLOAD(SP + 72) + D :MSTORE(SP + 64) 4294967296n => B 0 => D 0 => C @@ -483,10 +522,12 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 64) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) - 47244640256n => CTX ;; LoadConst32(11) - $ => E :MLOAD(SP + 80) + D :MSTORE(MEM:E) + 47244640256n => B ;; LoadConst32(11) + $ => E :MLOAD(SP + 112) + B :MSTORE(SP + 64) 4294967296n => B 0 => D 0 => C @@ -495,12 +536,13 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 64) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 168) + B :MSTORE(MEM:E + 168) 738734374912n => B ;; LoadConst32(172) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - E :MSTORE(SP + 48) + E :MSTORE(SP + 64) 17179869184n => B ;; LoadConst32(4) $ => E :ADD 4294967296n => B @@ -512,8 +554,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E) - $ => E :MLOAD(SP + 48) + $ => B :MLOAD(MEM:E) + $ => E :MLOAD(SP + 64) + B :MSTORE(SP + 56) 4294967296n => B 0 => D 0 => C @@ -522,9 +565,10 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 56) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) - $ => E :MLOAD(SP + 80) + B :MSTORE(MEM:E) + $ => E :MLOAD(SP + 112) 4294967296n => B 0 => D 0 => C @@ -534,8 +578,9 @@ function_1: 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD ${ E >> 32 } => E - $ => CTX :MLOAD(MEM:E + 1) - $ => E :MLOAD(SP + 80) + $ => B :MLOAD(MEM:E + 1) + $ => E :MLOAD(SP + 112) + B :MSTORE(SP + 56) 4294967296n => B 0 => D 0 => C @@ -544,10 +589,12 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 56) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 169) - 549755813888n => CTX ;; LoadConst32(128) - $ => E :MLOAD(SP + 56) + B :MSTORE(MEM:E + 169) + 549755813888n => C ;; LoadConst32(128) + $ => E :MLOAD(SP + 32) + C :MSTORE(SP + 56) 4294967296n => B 0 => D 0 => C @@ -556,9 +603,10 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 56) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) - $ => E :MLOAD(SP + 80) + C :MSTORE(MEM:E) + $ => E :MLOAD(SP + 112) 4294967296n => B 0 => D 0 => C @@ -585,16 +633,16 @@ function_1: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX - A :MSTORE(SP + 48) + E :MSTORE(SP + 48) + A :MSTORE(SP + 56) 88n => B ;; LoadConst64(88) - CTX => A - $ => E :OR - E :MSTORE(SP + 40) + $ => A :MLOAD(SP + 48) + $ => D :OR + D :MSTORE(SP + 40) 65024n => B ;; LoadConst64(65024) $ => A :MLOAD(SP + 40) - $ => E :AND - E => A + $ => D :AND + D => A 40n => E ;; LoadConst64(40) A :MSTORE(SP) 64 => B @@ -614,8 +662,8 @@ function_1: E :MSTORE(SP + 32) 16711680n => B ;; LoadConst64(16711680) $ => A :MLOAD(SP + 40) - $ => E :AND - E => A + $ => D :AND + D => A 24n => E ;; LoadConst64(24) A :MSTORE(SP) 64 => B @@ -659,7 +707,7 @@ function_1: $ => A :OR A :MSTORE(SP + 24) 1n => E ;; LoadConst64(1) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) A :MSTORE(SP) 64 => B 0 => D @@ -680,7 +728,7 @@ function_1: $ => A :AND A :MSTORE(SP + 16) 15n => E ;; LoadConst64(15) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) A :MSTORE(SP) 64 => B 0 => D @@ -702,7 +750,7 @@ function_1: $ => A :OR A :MSTORE(SP + 16) 31n => E ;; LoadConst64(31) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) A :MSTORE(SP) 64 => B 0 => D @@ -722,7 +770,7 @@ function_1: $ => A :AND A :MSTORE(SP + 8) 56n => E ;; LoadConst64(56) - CTX => A + $ => A :MLOAD(SP + 48) A :MSTORE(SP) 64 => B 0 => D @@ -745,16 +793,16 @@ function_1: $ => B :OR $ => A :MLOAD(SP + 24) $ => A :OR - A => C + A => E 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) - $ => E :ADD - E => A + $ => A :MLOAD(SP + 112) + $ => D :ADD + D => A 171798691840n => B ;; LoadConst32(40) $ => B :ADD B :MSTORE(SP + 8) - 0n => E ;; LoadConst32(0) - E => B + 0n => D ;; LoadConst32(0) + D => B 0 => A $ => A :EQ A :JMPZ(label_1_1) @@ -768,20 +816,18 @@ label_1_2: 4294967296n => B ;; LoadConst32(1) $ => A :ADD 0n => B ;; LoadConst32(0) - 223338299392n => CTX ;; LoadConst32(52) + 223338299392n => C ;; LoadConst32(52) SP + 1 => SP - CTX :MSTORE(SP) - $ => CTX :MLOAD(SP) + C :MSTORE(SP) zkPC + 2 => RR :JMP(function_4) - CTX :MSTORE(SP) SP - 1 => SP :JMP(label_1_3) label_1_3: 6341068275337658368n => B ;; LoadConst64(6341068275337658368) - C => A + E => A $ => B :OR - B :MSTORE(SP + 72) + B :MSTORE(SP) 47244640256n => A ;; LoadConst32(11) 240518168576n => B ;; LoadConst32(56) $ => A :XOR @@ -796,7 +842,7 @@ label_1_3: $ => A :EQ A :JMPZ(label_1_5) 687194767360n => B ;; LoadConst32(160) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD 4294967296n => B 0 => D @@ -806,40 +852,39 @@ label_1_3: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD - $ => C :MLOAD(SP + 72) + $ => D :MLOAD(SP) ${ E >> 32 } => E - C :MSTORE(MEM:E) + D :MSTORE(MEM:E) 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) - $ => C :ADD - C => A - 4294967296n => C ;; LoadConst32(1) + $ => A :MLOAD(SP + 112) + $ => D :ADD + D => A + 4294967296n => D ;; LoadConst32(1) SP + 1 => SP - C :MSTORE(SP) + D :MSTORE(SP) $ => B :MLOAD(SP + 8) - $ => CTX :MLOAD(SP) zkPC + 2 => RR :JMP(function_2) SP - 1 => SP - $ => E :MLOAD(SP + 80) + $ => E :MLOAD(SP + 112) :JMP(label_1_6) label_1_5: 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) - $ => D :ADD - D => A - 4294967296n => D ;; LoadConst32(1) + $ => A :MLOAD(SP + 112) + $ => B :ADD + B => A + 4294967296n => C ;; LoadConst32(1) SP + 1 => SP - D :MSTORE(SP) + C :MSTORE(SP) $ => B :MLOAD(SP + 8) - $ => CTX :MLOAD(SP) zkPC + 2 => RR :JMP(function_2) SP - 1 => SP 962072674304n => B ;; LoadConst32(224) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -848,12 +893,14 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 927712935936n => B ;; LoadConst32(216) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => C ;; LoadConst64(0) + C :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -862,12 +909,14 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + C :MSTORE(MEM:E) 893353197568n => B ;; LoadConst32(208) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => D ;; LoadConst64(0) + D :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -876,12 +925,14 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => D :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + D :MSTORE(MEM:E) 858993459200n => B ;; LoadConst32(200) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -890,12 +941,14 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 824633720832n => B ;; LoadConst32(192) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -904,12 +957,14 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 790273982464n => B ;; LoadConst32(184) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => E :ADD - 0n => CTX ;; LoadConst64(0) + 0n => B ;; LoadConst64(0) + B :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -918,10 +973,12 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => B :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) - 0n => CTX ;; LoadConst64(0) - $ => E :MLOAD(SP + 80) + B :MSTORE(MEM:E) + 0n => C ;; LoadConst64(0) + $ => E :MLOAD(SP + 112) + C :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -930,9 +987,10 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD + $ => C :MLOAD(SP + 80) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 176) - $ => E :MLOAD(SP + 80) + C :MSTORE(MEM:E + 176) + $ => E :MLOAD(SP + 112) 4294967296n => B 0 => D 0 => C @@ -941,27 +999,26 @@ label_1_5: A => B 0 => A ;; LoadExtName(User(userextname1)) $ => E :ADD - $ => C :MLOAD(SP + 72) + $ => D :MLOAD(SP) ${ E >> 32 } => E - C :MSTORE(MEM:E + 232) + D :MSTORE(MEM:E + 232) 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 80) - $ => B :ADD - B => CTX + $ => A :MLOAD(SP + 112) + $ => E :ADD + E => C 755914244096n => B ;; LoadConst32(176) $ => B :ADD - 4294967296n => C ;; LoadConst32(1) + 4294967296n => E ;; LoadConst32(1) SP + 1 => SP - C :MSTORE(SP) - CTX => A - $ => CTX :MLOAD(SP) + E :MSTORE(SP) + C => A zkPC + 2 => RR :JMP(function_2) SP - 1 => SP - $ => E :MLOAD(SP + 80) + $ => E :MLOAD(SP + 112) :JMP(label_1_6) label_1_6: - $ => E :MLOAD(SP + 80) + $ => E :MLOAD(SP + 112) 4294967296n => B 0 => D 0 => C @@ -972,8 +1029,8 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 92) - $ => E :MLOAD(SP + 80) - A :MSTORE(SP + 72) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -984,8 +1041,8 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 88) - $ => E :MLOAD(SP + 80) - A :MSTORE(SP + 64) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 72) 4294967296n => B 0 => D 0 => C @@ -996,8 +1053,8 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 84) - $ => E :MLOAD(SP + 80) - A :MSTORE(SP + 56) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 64) 4294967296n => B 0 => D 0 => C @@ -1008,8 +1065,8 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 80) - $ => E :MLOAD(SP + 80) - A :MSTORE(SP + 48) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 56) 4294967296n => B 0 => D 0 => C @@ -1020,8 +1077,8 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 76) - $ => E :MLOAD(SP + 80) - A :MSTORE(SP + 40) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 48) 4294967296n => B 0 => D 0 => C @@ -1032,8 +1089,8 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 72) - $ => E :MLOAD(SP + 80) - A :MSTORE(SP + 32) + $ => E :MLOAD(SP + 112) + A :MSTORE(SP + 40) 4294967296n => B 0 => D 0 => C @@ -1044,7 +1101,7 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 64) - A => CTX + A :MSTORE(SP + 32) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -1068,7 +1125,7 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 8) + E :MSTORE(SP + 16) 280375465082880n => B ;; LoadConst32(65280) $ => B :AND B => A @@ -1095,13 +1152,13 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 16) E => B $ => A :OR - A :MSTORE(SP + 16) - B :MSTORE(SP + 24) + A :MSTORE(SP) + B :MSTORE(SP + 8) 34359738368n => E ;; LoadConst32(8) - CTX => A + $ => A :MLOAD(SP + 32) E :MSTORE(SP) 0 => D A => E @@ -1140,9 +1197,9 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 8) + A :MSTORE(SP + 24) 103079215104n => E ;; LoadConst32(24) - CTX => A + $ => A :MLOAD(SP + 32) E :MSTORE(SP) 0 => D A => E @@ -1180,19 +1237,19 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 8) - $ => CTX :OR + $ => A :MLOAD(SP + 24) + $ => C :OR + $ => A :MLOAD(SP) + C => D B => C - CTX => B - C => CTX - $ => A :MLOAD(SP + 16) + D => B $ => A :OR - A :MSTORE(SP + 8) + A :MSTORE(SP + 24) 280375465082880n => B ;; LoadConst32(65280) $ => B :AND B :MSTORE(SP + 16) 68719476736n => E ;; LoadConst32(16) - CTX => A + C => A A :MSTORE(SP) 0 => D 4294967296n => B @@ -1218,9 +1275,9 @@ label_1_6: $ => A :MLOAD(SP + 16) E => B $ => A :OR - A => CTX + A :MSTORE(SP + 16) 68719476736n => E ;; LoadConst32(16) - $ => A :MLOAD(SP + 24) + $ => A :MLOAD(SP + 8) E :MSTORE(SP) 0 => D A => E @@ -1258,7 +1315,7 @@ label_1_6: E :ARITH E => A A => B - CTX => A + $ => A :MLOAD(SP + 16) $ => E :OR 4294967296n => B 0 => D @@ -1283,9 +1340,9 @@ label_1_6: ${_mulShlArith % 18446744073709551616} => E :ARITH E :MSTORE(SP + 16) 18374686479671623680n => B ;; LoadConst32(4278190080) - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 24) $ => A :AND - $ => E :MLOAD(SP + 80) + $ => E :MLOAD(SP + 112) A :MSTORE(SP + 8) 4294967296n => B 0 => D @@ -1297,7 +1354,7 @@ label_1_6: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 68) - A => CTX + A :MSTORE(SP) 103079215104n => E ;; LoadConst32(24) E :MSTORE(SP) 0 => D @@ -1369,9 +1426,9 @@ label_1_6: A => B $ => A :MLOAD(SP + 16) $ => A :OR - A :MSTORE(SP + 8) + A :MSTORE(SP + 24) 34359738368n => E ;; LoadConst32(8) - CTX => A + $ => A :MLOAD(SP) E :MSTORE(SP) 0 => D A => E @@ -1412,7 +1469,7 @@ label_1_6: $ => A :AND A :MSTORE(SP + 16) 280375465082880n => B ;; LoadConst32(65280) - CTX => A + $ => A :MLOAD(SP) $ => B :AND B => A 34359738368n => E ;; LoadConst32(8) @@ -1485,7 +1542,7 @@ label_1_6: ${E / B} => A E:ARITH A => B - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 24) $ => A :OR 8n => E ;; LoadConst64(8) A :MSTORE(SP) @@ -1505,7 +1562,7 @@ label_1_6: ${_mulShlArith % 18446744073709551616} => E :ARITH E :MSTORE(SP + 16) 1095216660480n => B ;; LoadConst32(255) - CTX => A + $ => A :MLOAD(SP) $ => E :AND 4294967296n => B 0 => D @@ -1516,10 +1573,9 @@ label_1_6: $ => A :MLOAD(SP + 16) $ => A :OR 13352372148217134600n => B ;; LoadConst64(13352372148217134600) - $ => CTX :MLOAD(SP) B :ASSERT 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 32) + $ => A :MLOAD(SP + 40) A :MSTORE(SP) 0 => D 4294967296n => B @@ -1544,8 +1600,8 @@ label_1_6: ${_mulShlArith % 18446744073709551616} => E :ARITH E :MSTORE(SP + 16) 280375465082880n => B ;; LoadConst32(65280) - $ => CTX :AND - CTX => A + $ => C :AND + C => A 34359738368n => E ;; LoadConst32(8) A :MSTORE(SP) 0 => D @@ -1572,10 +1628,10 @@ label_1_6: $ => A :MLOAD(SP + 16) E => B $ => A :OR + A :MSTORE(SP) B :MSTORE(SP + 8) - A :MSTORE(SP + 16) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 32) + $ => A :MLOAD(SP + 40) E :MSTORE(SP) 0 => D A => E @@ -1614,9 +1670,9 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A => CTX + A :MSTORE(SP + 24) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 32) + $ => A :MLOAD(SP + 40) E :MSTORE(SP) 0 => D A => E @@ -1654,17 +1710,18 @@ label_1_6: E :ARITH E => A A => B - CTX => A - $ => CTX :OR - $ => A :MLOAD(SP + 16) - B => C - CTX => B + $ => A :MLOAD(SP + 24) + $ => C :OR + $ => A :MLOAD(SP) + B => D + C => B $ => A :OR - A :MSTORE(SP + 16) + A :MSTORE(SP + 24) 280375465082880n => B ;; LoadConst32(65280) - $ => CTX :AND + $ => C :AND + C :MSTORE(SP + 16) 68719476736n => E ;; LoadConst32(16) - C => A + D => A A :MSTORE(SP) 0 => D 4294967296n => B @@ -1687,10 +1744,10 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - CTX => A + $ => A :MLOAD(SP + 16) E => B $ => A :OR - A => CTX + A :MSTORE(SP + 16) 68719476736n => E ;; LoadConst32(16) $ => A :MLOAD(SP + 8) E :MSTORE(SP) @@ -1730,7 +1787,7 @@ label_1_6: E :ARITH E => A A => B - CTX => A + $ => A :MLOAD(SP + 16) $ => E :OR 4294967296n => B 0 => D @@ -1753,13 +1810,13 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP + 16) 18374686479671623680n => B ;; LoadConst32(4278190080) - $ => A :MLOAD(SP + 16) + $ => A :MLOAD(SP + 24) $ => A :AND - A :MSTORE(SP + 16) + A :MSTORE(SP + 8) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 40) + $ => A :MLOAD(SP + 48) E :MSTORE(SP) 0 => D A => E @@ -1819,7 +1876,7 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 16) + $ => A :MLOAD(SP + 8) E => B $ => E :OR 4294967296n => B @@ -1828,11 +1885,11 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP + 16) $ => A :OR - A :MSTORE(SP + 16) + A :MSTORE(SP + 8) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 40) + $ => A :MLOAD(SP + 48) E :MSTORE(SP) 0 => D A => E @@ -1871,11 +1928,11 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 8) + A :MSTORE(SP) 280375465082880n => B ;; LoadConst32(65280) - $ => A :MLOAD(SP + 40) - $ => CTX :AND - CTX => A + $ => A :MLOAD(SP + 48) + $ => C :AND + C => A 34359738368n => E ;; LoadConst32(8) A :MSTORE(SP) 0 => D @@ -1938,7 +1995,7 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP) $ => E :OR 4294967296n => B 0 => D @@ -1946,7 +2003,7 @@ label_1_6: ${E / B} => A E:ARITH A => B - $ => A :MLOAD(SP + 16) + $ => A :MLOAD(SP + 8) $ => A :OR 8n => E ;; LoadConst64(8) A :MSTORE(SP) @@ -1964,9 +2021,9 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP) 1095216660480n => B ;; LoadConst32(255) - $ => A :MLOAD(SP + 40) + $ => A :MLOAD(SP + 48) $ => E :AND 4294967296n => B 0 => D @@ -1974,13 +2031,12 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP) $ => A :OR 11902541952223915002n => B ;; LoadConst64(11902541952223915002) - $ => CTX :MLOAD(SP) B :ASSERT 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) A :MSTORE(SP) 0 => D 4294967296n => B @@ -2003,10 +2059,10 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP) 280375465082880n => B ;; LoadConst32(65280) - $ => C :AND - C => A + $ => D :AND + D => A 34359738368n => E ;; LoadConst32(8) A :MSTORE(SP) 0 => D @@ -2030,13 +2086,13 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - CTX => A + $ => A :MLOAD(SP) E => B $ => A :OR - B => CTX A :MSTORE(SP + 8) + B :MSTORE(SP + 24) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) E :MSTORE(SP) 0 => D A => E @@ -2075,9 +2131,9 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 16) + A :MSTORE(SP) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) E :MSTORE(SP) 0 => D A => E @@ -2115,18 +2171,18 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 16) - $ => C :OR + $ => A :MLOAD(SP) + $ => D :OR $ => A :MLOAD(SP + 8) - B => D - C => B + B => C + D => B $ => A :OR - A :MSTORE(SP + 16) + A :MSTORE(SP) 280375465082880n => B ;; LoadConst32(65280) - $ => C :AND - C :MSTORE(SP + 8) + $ => D :AND + D :MSTORE(SP + 16) 68719476736n => E ;; LoadConst32(16) - D => A + C => A A :MSTORE(SP) 0 => D 4294967296n => B @@ -2149,12 +2205,12 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 16) E => B $ => A :OR - A :MSTORE(SP + 8) + A :MSTORE(SP + 16) 68719476736n => E ;; LoadConst32(16) - CTX => A + $ => A :MLOAD(SP + 24) E :MSTORE(SP) 0 => D A => E @@ -2192,7 +2248,7 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 16) $ => E :OR 4294967296n => B 0 => D @@ -2215,13 +2271,13 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP + 16) 18374686479671623680n => B ;; LoadConst32(4278190080) - $ => A :MLOAD(SP + 16) + $ => A :MLOAD(SP) $ => A :AND A :MSTORE(SP + 8) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 56) + $ => A :MLOAD(SP + 64) E :MSTORE(SP) 0 => D A => E @@ -2290,11 +2346,11 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP + 16) $ => A :OR - A => CTX + A :MSTORE(SP + 8) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 56) + $ => A :MLOAD(SP + 64) E :MSTORE(SP) 0 => D A => E @@ -2333,11 +2389,11 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 8) + A :MSTORE(SP) 280375465082880n => B ;; LoadConst32(65280) - $ => A :MLOAD(SP + 56) - $ => C :AND - C => A + $ => A :MLOAD(SP + 64) + $ => D :AND + D => A 34359738368n => E ;; LoadConst32(8) A :MSTORE(SP) 0 => D @@ -2400,7 +2456,7 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP) $ => E :OR 4294967296n => B 0 => D @@ -2408,7 +2464,7 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP + 8) $ => A :OR 8n => E ;; LoadConst64(8) A :MSTORE(SP) @@ -2426,9 +2482,9 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP) 1095216660480n => B ;; LoadConst32(255) - $ => A :MLOAD(SP + 56) + $ => A :MLOAD(SP + 64) $ => E :AND 4294967296n => B 0 => D @@ -2436,13 +2492,12 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP) $ => A :OR 14160706888648589550n => B ;; LoadConst64(14160706888648589550) - $ => CTX :MLOAD(SP) B :ASSERT 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 64) + $ => A :MLOAD(SP + 72) A :MSTORE(SP) 0 => D 4294967296n => B @@ -2465,10 +2520,10 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP) 280375465082880n => B ;; LoadConst32(65280) - $ => D :AND - D => A + $ => E :AND + E => A 34359738368n => E ;; LoadConst32(8) A :MSTORE(SP) 0 => D @@ -2492,13 +2547,13 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - CTX => A + $ => A :MLOAD(SP) E => B $ => A :OR - B => CTX - A :MSTORE(SP + 8) + A :MSTORE(SP) + B :MSTORE(SP + 16) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 64) + $ => A :MLOAD(SP + 72) E :MSTORE(SP) 0 => D A => E @@ -2537,9 +2592,9 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 16) + A :MSTORE(SP + 8) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 64) + $ => A :MLOAD(SP + 72) E :MSTORE(SP) 0 => D A => E @@ -2577,16 +2632,16 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 16) - $ => D :OR $ => A :MLOAD(SP + 8) + $ => E :OR + $ => A :MLOAD(SP) B => C - D => B + E => B $ => A :OR - A :MSTORE(SP + 16) + A :MSTORE(SP + 8) 280375465082880n => B ;; LoadConst32(65280) - $ => D :AND - D :MSTORE(SP + 8) + $ => E :AND + E :MSTORE(SP) 68719476736n => E ;; LoadConst32(16) C => A A :MSTORE(SP) @@ -2611,12 +2666,12 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP) E => B $ => A :OR - A :MSTORE(SP + 8) + A :MSTORE(SP) 68719476736n => E ;; LoadConst32(16) - CTX => A + $ => A :MLOAD(SP + 16) E :MSTORE(SP) 0 => D A => E @@ -2654,7 +2709,7 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP) $ => E :OR 4294967296n => B 0 => D @@ -2677,13 +2732,13 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP) 18374686479671623680n => B ;; LoadConst32(4278190080) - $ => A :MLOAD(SP + 16) + $ => A :MLOAD(SP + 8) $ => A :AND A :MSTORE(SP + 8) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 72) + $ => A :MLOAD(SP + 80) E :MSTORE(SP) 0 => D A => E @@ -2752,11 +2807,11 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP) $ => A :OR - A => CTX + A :MSTORE(SP + 8) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 72) + $ => A :MLOAD(SP + 80) E :MSTORE(SP) 0 => D A => E @@ -2795,11 +2850,11 @@ label_1_6: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 8) + A :MSTORE(SP) 280375465082880n => B ;; LoadConst32(65280) - $ => A :MLOAD(SP + 72) - $ => D :AND - D => A + $ => A :MLOAD(SP + 80) + $ => E :AND + E => A 34359738368n => E ;; LoadConst32(8) A :MSTORE(SP) 0 => D @@ -2862,7 +2917,7 @@ label_1_6: E :ARITH E => A A => B - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP) $ => E :OR 4294967296n => B 0 => D @@ -2870,7 +2925,7 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP + 8) $ => A :OR 8n => E ;; LoadConst64(8) A :MSTORE(SP) @@ -2888,9 +2943,9 @@ label_1_6: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E => CTX + E :MSTORE(SP) 1095216660480n => B ;; LoadConst32(255) - $ => A :MLOAD(SP + 72) + $ => A :MLOAD(SP + 80) $ => E :AND 4294967296n => B 0 => D @@ -2898,13 +2953,12 @@ label_1_6: ${E / B} => A E:ARITH A => B - CTX => A + $ => A :MLOAD(SP) $ => A :OR 10414846460208074217n => B ;; LoadConst64(10414846460208074217) - $ => CTX :MLOAD(SP) B :ASSERT 1030792151040n => B ;; LoadConst32(240) - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 112) $ => A :ADD 65536 => E ;; LoadExtName(User(userextname0)) ${ E >> 32 } => E @@ -2913,8 +2967,7 @@ label_1_6: $ => D :MLOAD(SP - 2) $ => E :MLOAD(SP - 3) $ => B :MLOAD(SP - 4) - $ => CTX :MLOAD(SP - 5) - SP - 17 => SP + SP - 19 => SP $ => RR :MLOAD(SP - 1) SP - 1 => SP :JMP(RR) @@ -2939,17 +2992,16 @@ function_2: function_3: SP + 1 => SP RR :MSTORE(SP - 1) - SP + 484 => SP + SP + 483 => SP C :MSTORE(SP - 1) D :MSTORE(SP - 2) E :MSTORE(SP - 3) B :MSTORE(SP - 4) - CTX :MSTORE(SP - 5) - B => CTX A :MSTORE(SP) + B :MSTORE(SP + 8) $ => A :MLOAD(fp + 16) $ => E :MLOAD(SP) - A :MSTORE(SP + 8) + A :MSTORE(SP + 16) 4294967296n => B 0 => D 0 => C @@ -2959,9 +3011,9 @@ function_3: 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD ${ E >> 32 } => E - $ => C :MLOAD(MEM:E + 28) + $ => A :MLOAD(MEM:E + 28) $ => E :MLOAD(SP) - C :MSTORE(SP + 56) + A :MSTORE(SP + 64) 4294967296n => B 0 => D 0 => C @@ -2971,9 +3023,9 @@ function_3: 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD ${ E >> 32 } => E - $ => C :MLOAD(MEM:E + 24) + $ => A :MLOAD(MEM:E + 24) $ => E :MLOAD(SP) - C :MSTORE(SP + 64) + A :MSTORE(SP + 72) 4294967296n => B 0 => D 0 => C @@ -2983,9 +3035,9 @@ function_3: 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD ${ E >> 32 } => E - $ => B :MLOAD(MEM:E + 20) + $ => A :MLOAD(MEM:E + 20) $ => E :MLOAD(SP) - B :MSTORE(SP + 72) + A :MSTORE(SP + 80) 4294967296n => B 0 => D 0 => C @@ -2997,7 +3049,7 @@ function_3: ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 16) $ => E :MLOAD(SP) - A :MSTORE(SP + 80) + A :MSTORE(SP + 88) 4294967296n => B 0 => D 0 => C @@ -3009,7 +3061,7 @@ function_3: ${ E >> 32 } => E $ => B :MLOAD(MEM:E + 12) $ => E :MLOAD(SP) - B :MSTORE(SP + 88) + B :MSTORE(SP + 96) 4294967296n => B 0 => D 0 => C @@ -3019,9 +3071,9 @@ function_3: 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD ${ E >> 32 } => E - $ => D :MLOAD(MEM:E + 8) + $ => A :MLOAD(MEM:E + 8) $ => E :MLOAD(SP) - D :MSTORE(SP + 96) + A :MSTORE(SP + 104) 4294967296n => B 0 => D 0 => C @@ -3031,9 +3083,9 @@ function_3: 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD ${ E >> 32 } => E - $ => C :MLOAD(MEM:E + 4) + $ => A :MLOAD(MEM:E + 4) $ => E :MLOAD(SP) - C :MSTORE(SP + 104) + A :MSTORE(SP + 112) 4294967296n => B 0 => D 0 => C @@ -3044,9 +3096,9 @@ function_3: $ => E :ADD ${ E >> 32 } => E $ => B :MLOAD(MEM:E) - B :MSTORE(SP + 112) + B :MSTORE(SP + 120) 0n => B ;; LoadConst32(0) - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 16) $ => A :EQ 4294967296n => B 0 => D @@ -3059,11 +3111,10 @@ function_3: :JMP(label_3_2) label_3_1: $ => E :MLOAD(SP) - $ => CTX :MLOAD(SP + 56) :JMP(label_3_7) label_3_2: 25769803776n => E ;; LoadConst32(6) - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 16) A :MSTORE(SP) 0 => D 4294967296n => B @@ -3086,40 +3137,41 @@ label_3_2: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - CTX => A + $ => A :MLOAD(SP + 8) E => B - $ => CTX :ADD - CTX :MSTORE(SP + 3816) - A :MSTORE(SP + 48) + $ => B :ADD + B :MSTORE(SP + 3824) + A :MSTORE(SP + 56) + $ => C :MLOAD(SP + 80) + C :MSTORE(SP + 48) $ => C :MLOAD(SP + 72) C :MSTORE(SP + 40) - $ => C :MLOAD(SP + 64) + $ => C :MLOAD(SP + 88) C :MSTORE(SP + 32) - $ => C :MLOAD(SP + 80) + $ => C :MLOAD(SP + 64) C :MSTORE(SP + 24) $ => C :MLOAD(SP + 104) C :MSTORE(SP + 16) - $ => C :MLOAD(SP + 96) + $ => C :MLOAD(SP + 112) C :MSTORE(SP + 8) - $ => CTX :MLOAD(SP + 56) - $ => B :MLOAD(SP + 104) - $ => A :MLOAD(SP + 96) + $ => B :MLOAD(SP + 112) + $ => A :MLOAD(SP + 104) :JMP(label_3_3) label_3_3: $ => C :XOR C => A - $ => B :MLOAD(SP + 112) + $ => B :MLOAD(SP + 120) $ => A :AND - $ => B :MLOAD(SP + 16) + $ => B :MLOAD(SP + 8) A => E - $ => A :MLOAD(SP + 8) + $ => A :MLOAD(SP + 16) $ => C :AND E => A C => B $ => A :XOR - A :MSTORE(SP + 3808) + A :MSTORE(SP + 3816) 128849018880n => E ;; LoadConst32(30) - $ => A :MLOAD(SP + 112) + $ => A :MLOAD(SP + 120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3195,9 +3247,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3800) + A :MSTORE(SP + 3808) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 112) + $ => A :MLOAD(SP + 120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3274,11 +3326,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3800) + $ => A :MLOAD(SP + 3808) $ => A :XOR - A :MSTORE(SP + 3800) + A :MSTORE(SP + 3808) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 112) + $ => A :MLOAD(SP + 120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3355,13 +3407,13 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3800) - $ => B :XOR $ => A :MLOAD(SP + 3808) + $ => B :XOR + $ => A :MLOAD(SP + 3816) $ => A :ADD - A :MSTORE(SP + 3800) + A :MSTORE(SP + 3808) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 24) + $ => A :MLOAD(SP + 32) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3437,9 +3489,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3792) + A :MSTORE(SP + 3800) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 24) + $ => A :MLOAD(SP + 32) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3516,11 +3568,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3792) + $ => A :MLOAD(SP + 3800) $ => A :XOR - A :MSTORE(SP + 3792) + A :MSTORE(SP + 3800) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 24) + $ => A :MLOAD(SP + 32) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3597,24 +3649,24 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3792) + $ => A :MLOAD(SP + 3800) $ => B :XOR - CTX => A + $ => A :MLOAD(SP + 24) $ => C :ADD - $ => B :MLOAD(SP + 40) - $ => A :MLOAD(SP + 32) + $ => B :MLOAD(SP + 48) + $ => A :MLOAD(SP + 40) C => D $ => C :XOR C => A - $ => B :MLOAD(SP + 24) - $ => A :AND $ => B :MLOAD(SP + 32) + $ => A :AND + $ => B :MLOAD(SP + 40) $ => C :XOR C => B D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3792) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3800) 4294967296n => B 0 => D 0 => C @@ -3625,7 +3677,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E) - A :MSTORE(SP + 3784) + A :MSTORE(SP + 3792) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -3649,7 +3701,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3776) + E :MSTORE(SP + 3784) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -3676,12 +3728,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3776) + $ => A :MLOAD(SP + 3784) E => B $ => A :OR - A :MSTORE(SP + 3776) + A :MSTORE(SP + 3784) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3784) + $ => A :MLOAD(SP + 3792) E :MSTORE(SP) 0 => D A => E @@ -3720,9 +3772,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3768) + A :MSTORE(SP + 3776) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3784) + $ => A :MLOAD(SP + 3792) E :MSTORE(SP) 0 => D A => E @@ -3760,19 +3812,19 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3768) - $ => B :OR $ => A :MLOAD(SP + 3776) $ => B :OR - $ => A :MLOAD(SP + 3792) + $ => A :MLOAD(SP + 3784) + $ => B :OR + $ => A :MLOAD(SP + 3800) $ => A :ADD - B :MSTORE(SP + 3768) + B :MSTORE(SP + 3776) 4794697083170848768n => B ;; LoadConst32(1116352408) $ => B :ADD - $ => A :MLOAD(SP + 3800) + $ => A :MLOAD(SP + 3808) $ => A :ADD - A :MSTORE(SP + 3752) - B :MSTORE(SP + 3760) + A :MSTORE(SP + 3760) + B :MSTORE(SP + 3768) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -3849,9 +3901,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3744) + A :MSTORE(SP + 3752) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3752) + $ => A :MLOAD(SP + 3760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -3928,11 +3980,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3744) + $ => A :MLOAD(SP + 3752) $ => A :XOR - A :MSTORE(SP + 3744) + A :MSTORE(SP + 3752) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3752) + $ => A :MLOAD(SP + 3760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4009,26 +4061,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3744) + $ => A :MLOAD(SP + 3752) $ => A :XOR - $ => B :MLOAD(SP + 112) + $ => B :MLOAD(SP + 120) A => D - $ => A :MLOAD(SP + 16) + $ => A :MLOAD(SP + 8) $ => C :XOR - $ => A :MLOAD(SP + 3752) + $ => A :MLOAD(SP + 3760) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 16) - $ => B :MLOAD(SP + 112) + $ => A :MLOAD(SP + 8) + $ => B :MLOAD(SP + 120) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3744) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3752) 4294967296n => B 0 => D 0 => C @@ -4039,7 +4091,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 4) - A :MSTORE(SP + 3736) + A :MSTORE(SP + 3744) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -4063,7 +4115,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3728) + E :MSTORE(SP + 3736) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -4090,12 +4142,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3728) + $ => A :MLOAD(SP + 3736) E => B $ => A :OR - A :MSTORE(SP + 3728) + A :MSTORE(SP + 3736) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3736) + $ => A :MLOAD(SP + 3744) E :MSTORE(SP) 0 => D A => E @@ -4134,9 +4186,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3720) + A :MSTORE(SP + 3728) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3736) + $ => A :MLOAD(SP + 3744) E :MSTORE(SP) 0 => D A => E @@ -4174,33 +4226,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3720) - $ => B :OR $ => A :MLOAD(SP + 3728) $ => B :OR - $ => A :MLOAD(SP + 32) + $ => A :MLOAD(SP + 3736) + $ => B :OR + $ => A :MLOAD(SP + 40) $ => C :ADD - B :MSTORE(SP + 3720) - $ => B :MLOAD(SP + 88) - $ => A :MLOAD(SP + 3760) + B :MSTORE(SP + 3728) + $ => B :MLOAD(SP + 96) + $ => A :MLOAD(SP + 3768) C => D $ => A :ADD - A :MSTORE(SP + 3712) - $ => B :MLOAD(SP + 24) - $ => A :MLOAD(SP + 40) + A :MSTORE(SP + 3720) + $ => B :MLOAD(SP + 32) + $ => A :MLOAD(SP + 48) $ => C :XOR C => B - $ => A :MLOAD(SP + 3712) + $ => A :MLOAD(SP + 3720) $ => C :AND C => A - $ => B :MLOAD(SP + 40) + $ => B :MLOAD(SP + 48) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3704) + A :MSTORE(SP + 3712) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3712) + $ => A :MLOAD(SP + 3720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4276,9 +4328,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3696) + A :MSTORE(SP + 3704) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3712) + $ => A :MLOAD(SP + 3720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4355,11 +4407,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3696) + $ => A :MLOAD(SP + 3704) $ => A :XOR - A :MSTORE(SP + 3696) + A :MSTORE(SP + 3704) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3712) + $ => A :MLOAD(SP + 3720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4436,16 +4488,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3696) - $ => B :XOR $ => A :MLOAD(SP + 3704) + $ => B :XOR + $ => A :MLOAD(SP + 3712) $ => A :ADD 8158064639565889536n => B ;; LoadConst32(1899447441) $ => B :ADD - $ => A :MLOAD(SP + 3744) + $ => A :MLOAD(SP + 3752) $ => A :ADD - A :MSTORE(SP + 3688) - B :MSTORE(SP + 3696) + A :MSTORE(SP + 3696) + B :MSTORE(SP + 3704) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -4522,9 +4574,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3680) + A :MSTORE(SP + 3688) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3688) + $ => A :MLOAD(SP + 3696) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4601,11 +4653,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3680) + $ => A :MLOAD(SP + 3688) $ => A :XOR - A :MSTORE(SP + 3680) + A :MSTORE(SP + 3688) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3688) + $ => A :MLOAD(SP + 3696) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4682,26 +4734,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3680) + $ => A :MLOAD(SP + 3688) $ => A :XOR - $ => B :MLOAD(SP + 112) - A => E - $ => A :MLOAD(SP + 3752) + $ => B :MLOAD(SP + 120) + A => D + $ => A :MLOAD(SP + 3760) $ => C :XOR - $ => A :MLOAD(SP + 3688) + $ => A :MLOAD(SP + 3696) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 3752) - $ => B :MLOAD(SP + 112) + C => E + $ => A :MLOAD(SP + 3760) + $ => B :MLOAD(SP + 120) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3680) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3688) 4294967296n => B 0 => D 0 => C @@ -4712,7 +4764,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 8) - A :MSTORE(SP + 3672) + A :MSTORE(SP + 3680) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -4736,7 +4788,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3664) + E :MSTORE(SP + 3672) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -4763,12 +4815,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3664) + $ => A :MLOAD(SP + 3672) E => B $ => A :OR - A :MSTORE(SP + 3664) + A :MSTORE(SP + 3672) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3672) + $ => A :MLOAD(SP + 3680) E :MSTORE(SP) 0 => D A => E @@ -4807,9 +4859,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3656) + A :MSTORE(SP + 3664) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3672) + $ => A :MLOAD(SP + 3680) E :MSTORE(SP) 0 => D A => E @@ -4847,33 +4899,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3656) - $ => B :OR $ => A :MLOAD(SP + 3664) $ => B :OR - $ => A :MLOAD(SP + 40) + $ => A :MLOAD(SP + 3672) + $ => B :OR + $ => A :MLOAD(SP + 48) $ => C :ADD - B :MSTORE(SP + 3656) - $ => B :MLOAD(SP + 8) - $ => A :MLOAD(SP + 3696) + B :MSTORE(SP + 3664) + $ => B :MLOAD(SP + 16) + $ => A :MLOAD(SP + 3704) C => D $ => A :ADD - A :MSTORE(SP + 3648) - $ => B :MLOAD(SP + 24) - $ => A :MLOAD(SP + 3712) + A :MSTORE(SP + 3656) + $ => B :MLOAD(SP + 32) + $ => A :MLOAD(SP + 3720) $ => C :XOR - $ => A :MLOAD(SP + 3648) + $ => A :MLOAD(SP + 3656) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 24) + $ => B :MLOAD(SP + 32) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3640) + A :MSTORE(SP + 3648) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3648) + $ => A :MLOAD(SP + 3656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -4949,9 +5001,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3632) + A :MSTORE(SP + 3640) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3648) + $ => A :MLOAD(SP + 3656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5028,11 +5080,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3632) + $ => A :MLOAD(SP + 3640) $ => A :XOR - A :MSTORE(SP + 3632) + A :MSTORE(SP + 3640) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3648) + $ => A :MLOAD(SP + 3656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5109,16 +5161,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3632) - $ => B :XOR $ => A :MLOAD(SP + 3640) + $ => B :XOR + $ => A :MLOAD(SP + 3648) $ => A :ADD 13096744582870204416n => B ;; LoadConst32(3049323471) $ => B :ADD - $ => A :MLOAD(SP + 3680) + $ => A :MLOAD(SP + 3688) $ => A :ADD - A :MSTORE(SP + 3624) - B :MSTORE(SP + 3632) + A :MSTORE(SP + 3632) + B :MSTORE(SP + 3640) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -5195,9 +5247,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3616) + A :MSTORE(SP + 3624) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3624) + $ => A :MLOAD(SP + 3632) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5274,11 +5326,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3616) + $ => A :MLOAD(SP + 3624) $ => A :XOR - A :MSTORE(SP + 3616) + A :MSTORE(SP + 3624) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3624) + $ => A :MLOAD(SP + 3632) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5355,26 +5407,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3616) + $ => A :MLOAD(SP + 3624) $ => A :XOR - $ => B :MLOAD(SP + 3752) + $ => B :MLOAD(SP + 3760) A => D - $ => A :MLOAD(SP + 3688) + $ => A :MLOAD(SP + 3696) $ => C :XOR - $ => A :MLOAD(SP + 3624) + $ => A :MLOAD(SP + 3632) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3688) - $ => B :MLOAD(SP + 3752) + $ => A :MLOAD(SP + 3696) + $ => B :MLOAD(SP + 3760) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3616) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3624) 4294967296n => B 0 => D 0 => C @@ -5385,7 +5437,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 12) - A :MSTORE(SP + 3608) + A :MSTORE(SP + 3616) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -5409,7 +5461,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3600) + E :MSTORE(SP + 3608) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -5436,12 +5488,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3600) + $ => A :MLOAD(SP + 3608) E => B $ => A :OR - A :MSTORE(SP + 3600) + A :MSTORE(SP + 3608) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3608) + $ => A :MLOAD(SP + 3616) E :MSTORE(SP) 0 => D A => E @@ -5480,9 +5532,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3592) + A :MSTORE(SP + 3600) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3608) + $ => A :MLOAD(SP + 3616) E :MSTORE(SP) 0 => D A => E @@ -5520,34 +5572,34 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3592) - $ => B :OR $ => A :MLOAD(SP + 3600) $ => B :OR - $ => A :MLOAD(SP + 24) + $ => A :MLOAD(SP + 3608) + $ => B :OR + $ => A :MLOAD(SP + 32) $ => C :ADD - B :MSTORE(SP + 3592) - A :MSTORE(SP + 24) - $ => B :MLOAD(SP + 16) - $ => A :MLOAD(SP + 3632) - C => E + B :MSTORE(SP + 3600) + A :MSTORE(SP + 32) + $ => B :MLOAD(SP + 8) + $ => A :MLOAD(SP + 3640) + C => D $ => A :ADD - A :MSTORE(SP + 3584) - $ => B :MLOAD(SP + 3712) - $ => A :MLOAD(SP + 3648) + A :MSTORE(SP + 3592) + $ => B :MLOAD(SP + 3720) + $ => A :MLOAD(SP + 3656) $ => C :XOR - $ => A :MLOAD(SP + 3584) + $ => A :MLOAD(SP + 3592) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3712) + $ => B :MLOAD(SP + 3720) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 3576) + A :MSTORE(SP + 3584) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3584) + $ => A :MLOAD(SP + 3592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5623,9 +5675,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3568) + A :MSTORE(SP + 3576) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3584) + $ => A :MLOAD(SP + 3592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5702,11 +5754,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3568) + $ => A :MLOAD(SP + 3576) $ => A :XOR - A :MSTORE(SP + 3568) + A :MSTORE(SP + 3576) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3584) + $ => A :MLOAD(SP + 3592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5783,16 +5835,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3568) - $ => B :XOR $ => A :MLOAD(SP + 3576) + $ => B :XOR + $ => A :MLOAD(SP + 3584) $ => A :ADD 16840607883337924608n => B ;; LoadConst32(3921009573) $ => B :ADD - $ => A :MLOAD(SP + 3616) + $ => A :MLOAD(SP + 3624) $ => A :ADD - A :MSTORE(SP + 3560) - B :MSTORE(SP + 3568) + A :MSTORE(SP + 3568) + B :MSTORE(SP + 3576) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -5869,9 +5921,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3552) + A :MSTORE(SP + 3560) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3560) + $ => A :MLOAD(SP + 3568) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -5948,11 +6000,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3552) + $ => A :MLOAD(SP + 3560) $ => A :XOR - A :MSTORE(SP + 3552) + A :MSTORE(SP + 3560) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3560) + $ => A :MLOAD(SP + 3568) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6029,26 +6081,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3552) + $ => A :MLOAD(SP + 3560) $ => A :XOR - $ => B :MLOAD(SP + 3688) + $ => B :MLOAD(SP + 3696) A => D - $ => A :MLOAD(SP + 3624) + $ => A :MLOAD(SP + 3632) $ => C :XOR - $ => A :MLOAD(SP + 3560) + $ => A :MLOAD(SP + 3568) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3624) - $ => B :MLOAD(SP + 3688) + $ => A :MLOAD(SP + 3632) + $ => B :MLOAD(SP + 3696) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3552) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3560) 4294967296n => B 0 => D 0 => C @@ -6059,7 +6111,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 16) - A :MSTORE(SP + 3544) + A :MSTORE(SP + 3552) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -6083,7 +6135,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3536) + E :MSTORE(SP + 3544) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -6110,12 +6162,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3536) + $ => A :MLOAD(SP + 3544) E => B $ => A :OR - A :MSTORE(SP + 3536) + A :MSTORE(SP + 3544) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3544) + $ => A :MLOAD(SP + 3552) E :MSTORE(SP) 0 => D A => E @@ -6154,9 +6206,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3528) + A :MSTORE(SP + 3536) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3544) + $ => A :MLOAD(SP + 3552) E :MSTORE(SP) 0 => D A => E @@ -6194,33 +6246,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3528) - $ => B :OR $ => A :MLOAD(SP + 3536) $ => B :OR - $ => A :MLOAD(SP + 3712) + $ => A :MLOAD(SP + 3544) + $ => B :OR + $ => A :MLOAD(SP + 3720) $ => A :ADD - B :MSTORE(SP + 3528) - $ => B :MLOAD(SP + 112) + B :MSTORE(SP + 3536) + $ => B :MLOAD(SP + 120) A => D - $ => A :MLOAD(SP + 3568) + $ => A :MLOAD(SP + 3576) $ => A :ADD - A :MSTORE(SP + 3520) - $ => B :MLOAD(SP + 3648) - $ => A :MLOAD(SP + 3584) + A :MSTORE(SP + 3528) + $ => B :MLOAD(SP + 3656) + $ => A :MLOAD(SP + 3592) $ => C :XOR - $ => A :MLOAD(SP + 3520) + $ => A :MLOAD(SP + 3528) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3648) + $ => B :MLOAD(SP + 3656) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3512) + A :MSTORE(SP + 3520) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3520) + $ => A :MLOAD(SP + 3528) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6296,9 +6348,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3504) + A :MSTORE(SP + 3512) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3520) + $ => A :MLOAD(SP + 3528) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6375,11 +6427,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3504) + $ => A :MLOAD(SP + 3512) $ => A :XOR - A :MSTORE(SP + 3504) + A :MSTORE(SP + 3512) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3520) + $ => A :MLOAD(SP + 3528) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6456,16 +6508,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3504) - $ => B :XOR $ => A :MLOAD(SP + 3512) + $ => B :XOR + $ => A :MLOAD(SP + 3520) $ => A :ADD 4131703404256821248n => B ;; LoadConst32(961987163) $ => B :ADD - $ => A :MLOAD(SP + 3552) + $ => A :MLOAD(SP + 3560) $ => A :ADD - A :MSTORE(SP + 3496) - B :MSTORE(SP + 3504) + A :MSTORE(SP + 3504) + B :MSTORE(SP + 3512) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -6542,9 +6594,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3488) + A :MSTORE(SP + 3496) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3496) + $ => A :MLOAD(SP + 3504) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6621,11 +6673,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3488) + $ => A :MLOAD(SP + 3496) $ => A :XOR - A :MSTORE(SP + 3488) + A :MSTORE(SP + 3496) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3496) + $ => A :MLOAD(SP + 3504) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6702,26 +6754,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3488) + $ => A :MLOAD(SP + 3496) $ => A :XOR - $ => B :MLOAD(SP + 3624) - A => D - $ => A :MLOAD(SP + 3560) + $ => B :MLOAD(SP + 3632) + A => E + $ => A :MLOAD(SP + 3568) $ => C :XOR - $ => A :MLOAD(SP + 3496) + $ => A :MLOAD(SP + 3504) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 3560) - $ => B :MLOAD(SP + 3624) + C => D + $ => A :MLOAD(SP + 3568) + $ => B :MLOAD(SP + 3632) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3488) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3496) 4294967296n => B 0 => D 0 => C @@ -6732,7 +6784,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 20) - A :MSTORE(SP + 3480) + A :MSTORE(SP + 3488) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -6756,7 +6808,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3472) + E :MSTORE(SP + 3480) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -6783,12 +6835,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3472) + $ => A :MLOAD(SP + 3480) E => B $ => A :OR - A :MSTORE(SP + 3472) + A :MSTORE(SP + 3480) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3480) + $ => A :MLOAD(SP + 3488) E :MSTORE(SP) 0 => D A => E @@ -6827,9 +6879,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3464) + A :MSTORE(SP + 3472) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3480) + $ => A :MLOAD(SP + 3488) E :MSTORE(SP) 0 => D A => E @@ -6867,33 +6919,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3464) - $ => B :OR $ => A :MLOAD(SP + 3472) + $ => B :OR + $ => A :MLOAD(SP + 3480) $ => A :OR - $ => B :MLOAD(SP + 3648) + $ => B :MLOAD(SP + 3656) $ => C :ADD - A :MSTORE(SP + 3464) - $ => B :MLOAD(SP + 3752) - $ => A :MLOAD(SP + 3504) + A :MSTORE(SP + 3472) + $ => B :MLOAD(SP + 3760) + $ => A :MLOAD(SP + 3512) C => D $ => A :ADD - A :MSTORE(SP + 3456) - $ => B :MLOAD(SP + 3584) - $ => A :MLOAD(SP + 3520) + A :MSTORE(SP + 3464) + $ => B :MLOAD(SP + 3592) + $ => A :MLOAD(SP + 3528) $ => C :XOR - $ => A :MLOAD(SP + 3456) + $ => A :MLOAD(SP + 3464) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3584) + $ => B :MLOAD(SP + 3592) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3448) + A :MSTORE(SP + 3456) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3456) + $ => A :MLOAD(SP + 3464) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -6969,9 +7021,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3440) + A :MSTORE(SP + 3448) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3456) + $ => A :MLOAD(SP + 3464) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7048,11 +7100,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3440) + $ => A :MLOAD(SP + 3448) $ => A :XOR - A :MSTORE(SP + 3440) + A :MSTORE(SP + 3448) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3456) + $ => A :MLOAD(SP + 3464) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7129,16 +7181,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3440) - $ => B :XOR $ => A :MLOAD(SP + 3448) + $ => B :XOR + $ => A :MLOAD(SP + 3456) $ => A :ADD 6480981065547644928n => B ;; LoadConst32(1508970993) $ => B :ADD - $ => A :MLOAD(SP + 3488) + $ => A :MLOAD(SP + 3496) $ => A :ADD - A :MSTORE(SP + 3432) - B :MSTORE(SP + 3440) + A :MSTORE(SP + 3440) + B :MSTORE(SP + 3448) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -7215,9 +7267,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3424) + A :MSTORE(SP + 3432) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3432) + $ => A :MLOAD(SP + 3440) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7294,11 +7346,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3424) + $ => A :MLOAD(SP + 3432) $ => A :XOR - A :MSTORE(SP + 3424) + A :MSTORE(SP + 3432) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3432) + $ => A :MLOAD(SP + 3440) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7375,26 +7427,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3424) + $ => A :MLOAD(SP + 3432) $ => A :XOR - $ => B :MLOAD(SP + 3560) + $ => B :MLOAD(SP + 3568) A => D - $ => A :MLOAD(SP + 3496) + $ => A :MLOAD(SP + 3504) $ => C :XOR - $ => A :MLOAD(SP + 3432) + $ => A :MLOAD(SP + 3440) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3496) - $ => B :MLOAD(SP + 3560) + $ => A :MLOAD(SP + 3504) + $ => B :MLOAD(SP + 3568) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3424) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3432) 4294967296n => B 0 => D 0 => C @@ -7405,7 +7457,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 24) - A :MSTORE(SP + 3416) + A :MSTORE(SP + 3424) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -7429,7 +7481,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3408) + E :MSTORE(SP + 3416) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -7456,12 +7508,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3408) + $ => A :MLOAD(SP + 3416) E => B $ => A :OR - A :MSTORE(SP + 3408) + A :MSTORE(SP + 3416) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3416) + $ => A :MLOAD(SP + 3424) E :MSTORE(SP) 0 => D A => E @@ -7500,9 +7552,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3400) + A :MSTORE(SP + 3408) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3416) + $ => A :MLOAD(SP + 3424) E :MSTORE(SP) 0 => D A => E @@ -7540,33 +7592,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3400) - $ => B :OR $ => A :MLOAD(SP + 3408) + $ => B :OR + $ => A :MLOAD(SP + 3416) $ => A :OR - $ => B :MLOAD(SP + 3584) + $ => B :MLOAD(SP + 3592) $ => C :ADD - A :MSTORE(SP + 3400) - $ => B :MLOAD(SP + 3688) - $ => A :MLOAD(SP + 3440) - C => E + A :MSTORE(SP + 3408) + $ => B :MLOAD(SP + 3696) + $ => A :MLOAD(SP + 3448) + C => D $ => A :ADD - A :MSTORE(SP + 3392) - $ => B :MLOAD(SP + 3520) - $ => A :MLOAD(SP + 3456) + A :MSTORE(SP + 3400) + $ => B :MLOAD(SP + 3528) + $ => A :MLOAD(SP + 3464) $ => C :XOR - $ => A :MLOAD(SP + 3392) + $ => A :MLOAD(SP + 3400) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3520) + $ => B :MLOAD(SP + 3528) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 3384) + A :MSTORE(SP + 3392) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3392) + $ => A :MLOAD(SP + 3400) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7642,9 +7694,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3376) + A :MSTORE(SP + 3384) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3392) + $ => A :MLOAD(SP + 3400) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7721,11 +7773,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3376) + $ => A :MLOAD(SP + 3384) $ => A :XOR - A :MSTORE(SP + 3376) + A :MSTORE(SP + 3384) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3392) + $ => A :MLOAD(SP + 3400) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7802,16 +7854,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3376) - $ => B :XOR $ => A :MLOAD(SP + 3384) + $ => B :XOR + $ => A :MLOAD(SP + 3392) $ => A :ADD 10538285293956497408n => B ;; LoadConst32(2453635748) $ => B :ADD - $ => A :MLOAD(SP + 3424) + $ => A :MLOAD(SP + 3432) $ => A :ADD - A :MSTORE(SP + 3368) - B :MSTORE(SP + 3376) + A :MSTORE(SP + 3376) + B :MSTORE(SP + 3384) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -7888,9 +7940,90 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3360) + A :MSTORE(SP + 3368) 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 3376) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A => B $ => A :MLOAD(SP + 3368) + $ => A :XOR + A :MSTORE(SP + 3368) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 3376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -7967,107 +8100,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3360) - $ => A :XOR - A :MSTORE(SP + 3360) - 42949672960n => E ;; LoadConst32(10) $ => A :MLOAD(SP + 3368) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A => B - $ => A :MLOAD(SP + 3360) $ => A :XOR - $ => B :MLOAD(SP + 3496) + $ => B :MLOAD(SP + 3504) A => D - $ => A :MLOAD(SP + 3432) + $ => A :MLOAD(SP + 3440) $ => C :XOR - $ => A :MLOAD(SP + 3368) + $ => A :MLOAD(SP + 3376) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3432) - $ => B :MLOAD(SP + 3496) + $ => A :MLOAD(SP + 3440) + $ => B :MLOAD(SP + 3504) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3360) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3368) 4294967296n => B 0 => D 0 => C @@ -8078,7 +8130,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 28) - A :MSTORE(SP + 3352) + A :MSTORE(SP + 3360) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -8102,7 +8154,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3344) + E :MSTORE(SP + 3352) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -8129,12 +8181,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3344) + $ => A :MLOAD(SP + 3352) E => B $ => A :OR - A :MSTORE(SP + 3344) + A :MSTORE(SP + 3352) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3352) + $ => A :MLOAD(SP + 3360) E :MSTORE(SP) 0 => D A => E @@ -8173,9 +8225,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3336) + A :MSTORE(SP + 3344) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3352) + $ => A :MLOAD(SP + 3360) E :MSTORE(SP) 0 => D A => E @@ -8213,33 +8265,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3336) - $ => B :OR $ => A :MLOAD(SP + 3344) + $ => B :OR + $ => A :MLOAD(SP + 3352) $ => A :OR - $ => B :MLOAD(SP + 3520) + $ => B :MLOAD(SP + 3528) $ => C :ADD - A :MSTORE(SP + 3336) - $ => B :MLOAD(SP + 3624) - $ => A :MLOAD(SP + 3376) + A :MSTORE(SP + 3344) + $ => B :MLOAD(SP + 3632) + $ => A :MLOAD(SP + 3384) C => D $ => A :ADD - A :MSTORE(SP + 3328) - $ => B :MLOAD(SP + 3456) - $ => A :MLOAD(SP + 3392) + A :MSTORE(SP + 3336) + $ => B :MLOAD(SP + 3464) + $ => A :MLOAD(SP + 3400) $ => C :XOR - $ => A :MLOAD(SP + 3328) + $ => A :MLOAD(SP + 3336) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3456) + $ => B :MLOAD(SP + 3464) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3320) + A :MSTORE(SP + 3328) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3328) + $ => A :MLOAD(SP + 3336) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -8315,9 +8367,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3312) + A :MSTORE(SP + 3320) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3328) + $ => A :MLOAD(SP + 3336) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -8394,11 +8446,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3312) + $ => A :MLOAD(SP + 3320) $ => A :XOR - A :MSTORE(SP + 3312) + A :MSTORE(SP + 3320) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3328) + $ => A :MLOAD(SP + 3336) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -8475,16 +8527,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3312) - $ => B :XOR $ => A :MLOAD(SP + 3320) + $ => B :XOR + $ => A :MLOAD(SP + 3328) $ => A :ADD 12329834148754620416n => B ;; LoadConst32(2870763221) $ => B :ADD - $ => A :MLOAD(SP + 3360) + $ => A :MLOAD(SP + 3368) $ => A :ADD - A :MSTORE(SP + 3304) - B :MSTORE(SP + 3312) + A :MSTORE(SP + 3312) + B :MSTORE(SP + 3320) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -8561,9 +8613,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3296) + A :MSTORE(SP + 3304) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3304) + $ => A :MLOAD(SP + 3312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -8640,11 +8692,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3296) + $ => A :MLOAD(SP + 3304) $ => A :XOR - A :MSTORE(SP + 3296) + A :MSTORE(SP + 3304) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3304) + $ => A :MLOAD(SP + 3312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -8721,26 +8773,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3296) + $ => A :MLOAD(SP + 3304) $ => A :XOR - $ => B :MLOAD(SP + 3432) - A => E - $ => A :MLOAD(SP + 3368) + $ => B :MLOAD(SP + 3440) + A => D + $ => A :MLOAD(SP + 3376) $ => C :XOR - $ => A :MLOAD(SP + 3304) + $ => A :MLOAD(SP + 3312) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 3368) - $ => B :MLOAD(SP + 3432) + C => E + $ => A :MLOAD(SP + 3376) + $ => B :MLOAD(SP + 3440) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3296) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3304) 4294967296n => B 0 => D 0 => C @@ -8751,7 +8803,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 32) - A :MSTORE(SP + 3288) + A :MSTORE(SP + 3296) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -8775,7 +8827,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3280) + E :MSTORE(SP + 3288) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -8802,12 +8854,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3280) + $ => A :MLOAD(SP + 3288) E => B $ => A :OR - A :MSTORE(SP + 3280) + A :MSTORE(SP + 3288) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3288) + $ => A :MLOAD(SP + 3296) E :MSTORE(SP) 0 => D A => E @@ -8846,9 +8898,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3272) + A :MSTORE(SP + 3280) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3288) + $ => A :MLOAD(SP + 3296) E :MSTORE(SP) 0 => D A => E @@ -8886,33 +8938,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3272) - $ => B :OR $ => A :MLOAD(SP + 3280) + $ => B :OR + $ => A :MLOAD(SP + 3288) $ => A :OR - $ => B :MLOAD(SP + 3456) + $ => B :MLOAD(SP + 3464) $ => C :ADD - A :MSTORE(SP + 3272) - $ => B :MLOAD(SP + 3560) - $ => A :MLOAD(SP + 3312) + A :MSTORE(SP + 3280) + $ => B :MLOAD(SP + 3568) + $ => A :MLOAD(SP + 3320) C => D $ => A :ADD - A :MSTORE(SP + 3264) - $ => B :MLOAD(SP + 3392) - $ => A :MLOAD(SP + 3328) + A :MSTORE(SP + 3272) + $ => B :MLOAD(SP + 3400) + $ => A :MLOAD(SP + 3336) $ => C :XOR - $ => A :MLOAD(SP + 3264) + $ => A :MLOAD(SP + 3272) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3392) + $ => B :MLOAD(SP + 3400) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3256) + A :MSTORE(SP + 3264) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3264) + $ => A :MLOAD(SP + 3272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -8988,9 +9040,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3248) + A :MSTORE(SP + 3256) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3264) + $ => A :MLOAD(SP + 3272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9067,11 +9119,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3248) + $ => A :MLOAD(SP + 3256) $ => A :XOR - A :MSTORE(SP + 3248) + A :MSTORE(SP + 3256) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3264) + $ => A :MLOAD(SP + 3272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9148,16 +9200,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3248) - $ => B :XOR $ => A :MLOAD(SP + 3256) + $ => B :XOR + $ => A :MLOAD(SP + 3264) $ => A :ADD 15566598206841159680n => B ;; LoadConst32(3624381080) $ => B :ADD - $ => A :MLOAD(SP + 3296) + $ => A :MLOAD(SP + 3304) $ => A :ADD - A :MSTORE(SP + 3240) - B :MSTORE(SP + 3248) + A :MSTORE(SP + 3248) + B :MSTORE(SP + 3256) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -9234,9 +9286,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3232) + A :MSTORE(SP + 3240) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3240) + $ => A :MLOAD(SP + 3248) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9313,11 +9365,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3232) + $ => A :MLOAD(SP + 3240) $ => A :XOR - A :MSTORE(SP + 3232) + A :MSTORE(SP + 3240) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3240) + $ => A :MLOAD(SP + 3248) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9394,26 +9446,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3232) + $ => A :MLOAD(SP + 3240) $ => A :XOR - $ => B :MLOAD(SP + 3368) + $ => B :MLOAD(SP + 3376) A => D - $ => A :MLOAD(SP + 3304) + $ => A :MLOAD(SP + 3312) $ => C :XOR - $ => A :MLOAD(SP + 3240) + $ => A :MLOAD(SP + 3248) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3304) - $ => B :MLOAD(SP + 3368) + $ => A :MLOAD(SP + 3312) + $ => B :MLOAD(SP + 3376) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3232) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3240) 4294967296n => B 0 => D 0 => C @@ -9424,7 +9476,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 36) - A :MSTORE(SP + 3224) + A :MSTORE(SP + 3232) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -9448,7 +9500,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3216) + E :MSTORE(SP + 3224) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -9475,12 +9527,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3216) + $ => A :MLOAD(SP + 3224) E => B $ => A :OR - A :MSTORE(SP + 3216) + A :MSTORE(SP + 3224) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3224) + $ => A :MLOAD(SP + 3232) E :MSTORE(SP) 0 => D A => E @@ -9519,9 +9571,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3208) + A :MSTORE(SP + 3216) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3224) + $ => A :MLOAD(SP + 3232) E :MSTORE(SP) 0 => D A => E @@ -9559,33 +9611,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3208) - $ => B :OR $ => A :MLOAD(SP + 3216) + $ => B :OR + $ => A :MLOAD(SP + 3224) $ => A :OR - $ => B :MLOAD(SP + 3392) + $ => B :MLOAD(SP + 3400) $ => C :ADD - A :MSTORE(SP + 3208) - $ => B :MLOAD(SP + 3496) - $ => A :MLOAD(SP + 3248) - C => E + A :MSTORE(SP + 3216) + $ => B :MLOAD(SP + 3504) + $ => A :MLOAD(SP + 3256) + C => D $ => A :ADD - A :MSTORE(SP + 3200) - $ => B :MLOAD(SP + 3328) - $ => A :MLOAD(SP + 3264) + A :MSTORE(SP + 3208) + $ => B :MLOAD(SP + 3336) + $ => A :MLOAD(SP + 3272) $ => C :XOR - $ => A :MLOAD(SP + 3200) + $ => A :MLOAD(SP + 3208) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3328) + $ => B :MLOAD(SP + 3336) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 3192) + A :MSTORE(SP + 3200) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3200) + $ => A :MLOAD(SP + 3208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9661,9 +9713,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3184) + A :MSTORE(SP + 3192) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3200) + $ => A :MLOAD(SP + 3208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9740,11 +9792,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3184) + $ => A :MLOAD(SP + 3192) $ => A :XOR - A :MSTORE(SP + 3184) + A :MSTORE(SP + 3192) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3200) + $ => A :MLOAD(SP + 3208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9821,16 +9873,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3184) - $ => B :XOR $ => A :MLOAD(SP + 3192) + $ => B :XOR + $ => A :MLOAD(SP + 3200) $ => A :ADD 1334009974484893696n => B ;; LoadConst32(310598401) $ => B :ADD - $ => A :MLOAD(SP + 3232) + $ => A :MLOAD(SP + 3240) $ => A :ADD - A :MSTORE(SP + 3176) - B :MSTORE(SP + 3184) + A :MSTORE(SP + 3184) + B :MSTORE(SP + 3192) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -9907,9 +9959,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3168) + A :MSTORE(SP + 3176) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3176) + $ => A :MLOAD(SP + 3184) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -9986,11 +10038,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3168) + $ => A :MLOAD(SP + 3176) $ => A :XOR - A :MSTORE(SP + 3168) + A :MSTORE(SP + 3176) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3176) + $ => A :MLOAD(SP + 3184) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -10067,26 +10119,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3168) + $ => A :MLOAD(SP + 3176) $ => A :XOR - $ => B :MLOAD(SP + 3304) - A => D - $ => A :MLOAD(SP + 3240) + $ => B :MLOAD(SP + 3312) + A => E + $ => A :MLOAD(SP + 3248) $ => C :XOR - $ => A :MLOAD(SP + 3176) + $ => A :MLOAD(SP + 3184) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 3240) - $ => B :MLOAD(SP + 3304) + C => D + $ => A :MLOAD(SP + 3248) + $ => B :MLOAD(SP + 3312) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3168) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3176) 4294967296n => B 0 => D 0 => C @@ -10097,7 +10149,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 40) - A :MSTORE(SP + 3160) + A :MSTORE(SP + 3168) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -10121,7 +10173,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3152) + E :MSTORE(SP + 3160) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -10148,12 +10200,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3152) + $ => A :MLOAD(SP + 3160) E => B $ => A :OR - A :MSTORE(SP + 3152) + A :MSTORE(SP + 3160) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3160) + $ => A :MLOAD(SP + 3168) E :MSTORE(SP) 0 => D A => E @@ -10192,9 +10244,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3144) + A :MSTORE(SP + 3152) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3160) + $ => A :MLOAD(SP + 3168) E :MSTORE(SP) 0 => D A => E @@ -10232,33 +10284,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3144) - $ => B :OR $ => A :MLOAD(SP + 3152) + $ => B :OR + $ => A :MLOAD(SP + 3160) $ => A :OR - $ => B :MLOAD(SP + 3328) + $ => B :MLOAD(SP + 3336) $ => C :ADD - A :MSTORE(SP + 3144) - $ => B :MLOAD(SP + 3432) - $ => A :MLOAD(SP + 3184) + A :MSTORE(SP + 3152) + $ => B :MLOAD(SP + 3440) + $ => A :MLOAD(SP + 3192) C => D $ => A :ADD - A :MSTORE(SP + 3136) - $ => B :MLOAD(SP + 3264) - $ => A :MLOAD(SP + 3200) + A :MSTORE(SP + 3144) + $ => B :MLOAD(SP + 3272) + $ => A :MLOAD(SP + 3208) $ => C :XOR - $ => A :MLOAD(SP + 3136) + $ => A :MLOAD(SP + 3144) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3264) + $ => B :MLOAD(SP + 3272) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3128) + A :MSTORE(SP + 3136) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3136) + $ => A :MLOAD(SP + 3144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -10334,9 +10386,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3120) + A :MSTORE(SP + 3128) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3136) + $ => A :MLOAD(SP + 3144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -10413,11 +10465,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3120) + $ => A :MLOAD(SP + 3128) $ => A :XOR - A :MSTORE(SP + 3120) + A :MSTORE(SP + 3128) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3136) + $ => A :MLOAD(SP + 3144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -10494,16 +10546,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3120) - $ => B :XOR $ => A :MLOAD(SP + 3128) + $ => B :XOR + $ => A :MLOAD(SP + 3136) $ => A :ADD 2608012710314508288n => B ;; LoadConst32(607225278) $ => B :ADD - $ => A :MLOAD(SP + 3168) + $ => A :MLOAD(SP + 3176) $ => A :ADD - A :MSTORE(SP + 3112) - B :MSTORE(SP + 3120) + A :MSTORE(SP + 3120) + B :MSTORE(SP + 3128) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -10580,9 +10632,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3104) + A :MSTORE(SP + 3112) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3112) + $ => A :MLOAD(SP + 3120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -10659,11 +10711,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3104) + $ => A :MLOAD(SP + 3112) $ => A :XOR - A :MSTORE(SP + 3104) + A :MSTORE(SP + 3112) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3112) + $ => A :MLOAD(SP + 3120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -10740,26 +10792,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3104) + $ => A :MLOAD(SP + 3112) $ => A :XOR - $ => B :MLOAD(SP + 3240) + $ => B :MLOAD(SP + 3248) A => D - $ => A :MLOAD(SP + 3176) + $ => A :MLOAD(SP + 3184) $ => C :XOR - $ => A :MLOAD(SP + 3112) + $ => A :MLOAD(SP + 3120) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3176) - $ => B :MLOAD(SP + 3240) + $ => A :MLOAD(SP + 3184) + $ => B :MLOAD(SP + 3248) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3104) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3112) 4294967296n => B 0 => D 0 => C @@ -10770,7 +10822,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 44) - A :MSTORE(SP + 3096) + A :MSTORE(SP + 3104) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -10794,7 +10846,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3088) + E :MSTORE(SP + 3096) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -10821,12 +10873,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3088) + $ => A :MLOAD(SP + 3096) E => B $ => A :OR - A :MSTORE(SP + 3088) + A :MSTORE(SP + 3096) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3096) + $ => A :MLOAD(SP + 3104) E :MSTORE(SP) 0 => D A => E @@ -10865,9 +10917,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3080) + A :MSTORE(SP + 3088) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3096) + $ => A :MLOAD(SP + 3104) E :MSTORE(SP) 0 => D A => E @@ -10905,33 +10957,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3080) - $ => B :OR $ => A :MLOAD(SP + 3088) + $ => B :OR + $ => A :MLOAD(SP + 3096) $ => A :OR - $ => B :MLOAD(SP + 3264) + $ => B :MLOAD(SP + 3272) $ => C :ADD - A :MSTORE(SP + 3080) - $ => B :MLOAD(SP + 3368) - $ => A :MLOAD(SP + 3120) + A :MSTORE(SP + 3088) + $ => B :MLOAD(SP + 3376) + $ => A :MLOAD(SP + 3128) C => D $ => A :ADD - A :MSTORE(SP + 3072) - $ => B :MLOAD(SP + 3200) - $ => A :MLOAD(SP + 3136) + A :MSTORE(SP + 3080) + $ => B :MLOAD(SP + 3208) + $ => A :MLOAD(SP + 3144) $ => C :XOR - $ => A :MLOAD(SP + 3072) + $ => A :MLOAD(SP + 3080) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3200) + $ => B :MLOAD(SP + 3208) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 3064) + A :MSTORE(SP + 3072) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3072) + $ => A :MLOAD(SP + 3080) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11007,9 +11059,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3056) + A :MSTORE(SP + 3064) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3072) + $ => A :MLOAD(SP + 3080) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11086,11 +11138,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3056) + $ => A :MLOAD(SP + 3064) $ => A :XOR - A :MSTORE(SP + 3056) + A :MSTORE(SP + 3064) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3072) + $ => A :MLOAD(SP + 3080) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11167,16 +11219,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3056) - $ => B :XOR $ => A :MLOAD(SP + 3064) + $ => B :XOR + $ => A :MLOAD(SP + 3072) $ => A :ADD 6128411469416497152n => B ;; LoadConst32(1426881987) $ => B :ADD - $ => A :MLOAD(SP + 3104) + $ => A :MLOAD(SP + 3112) $ => A :ADD - A :MSTORE(SP + 3048) - B :MSTORE(SP + 3056) + A :MSTORE(SP + 3056) + B :MSTORE(SP + 3064) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -11253,9 +11305,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 3040) + A :MSTORE(SP + 3048) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 3048) + $ => A :MLOAD(SP + 3056) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11332,11 +11384,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3040) + $ => A :MLOAD(SP + 3048) $ => A :XOR - A :MSTORE(SP + 3040) + A :MSTORE(SP + 3048) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 3048) + $ => A :MLOAD(SP + 3056) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11413,26 +11465,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 3040) + $ => A :MLOAD(SP + 3048) $ => A :XOR - $ => B :MLOAD(SP + 3176) + $ => B :MLOAD(SP + 3184) A => D - $ => A :MLOAD(SP + 3112) + $ => A :MLOAD(SP + 3120) $ => C :XOR - $ => A :MLOAD(SP + 3048) + $ => A :MLOAD(SP + 3056) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3112) - $ => B :MLOAD(SP + 3176) + $ => A :MLOAD(SP + 3120) + $ => B :MLOAD(SP + 3184) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 3040) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 3048) 4294967296n => B 0 => D 0 => C @@ -11443,7 +11495,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 48) - A :MSTORE(SP + 3032) + A :MSTORE(SP + 3040) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -11467,7 +11519,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 3024) + E :MSTORE(SP + 3032) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -11494,12 +11546,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 3024) + $ => A :MLOAD(SP + 3032) E => B $ => A :OR - A :MSTORE(SP + 3024) + A :MSTORE(SP + 3032) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 3032) + $ => A :MLOAD(SP + 3040) E :MSTORE(SP) 0 => D A => E @@ -11538,9 +11590,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 3016) + A :MSTORE(SP + 3024) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 3032) + $ => A :MLOAD(SP + 3040) E :MSTORE(SP) 0 => D A => E @@ -11578,33 +11630,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 3016) - $ => B :OR $ => A :MLOAD(SP + 3024) + $ => B :OR + $ => A :MLOAD(SP + 3032) $ => A :OR - $ => B :MLOAD(SP + 3200) + $ => B :MLOAD(SP + 3208) $ => C :ADD - A :MSTORE(SP + 3016) - $ => B :MLOAD(SP + 3304) - $ => A :MLOAD(SP + 3056) - C => E + A :MSTORE(SP + 3024) + $ => B :MLOAD(SP + 3312) + $ => A :MLOAD(SP + 3064) + C => D $ => A :ADD - A :MSTORE(SP + 3008) - $ => B :MLOAD(SP + 3136) - $ => A :MLOAD(SP + 3072) + A :MSTORE(SP + 3016) + $ => B :MLOAD(SP + 3144) + $ => A :MLOAD(SP + 3080) $ => C :XOR - $ => A :MLOAD(SP + 3008) + $ => A :MLOAD(SP + 3016) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3136) + $ => B :MLOAD(SP + 3144) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 3000) + A :MSTORE(SP + 3008) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 3008) + $ => A :MLOAD(SP + 3016) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11680,9 +11732,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2992) + A :MSTORE(SP + 3000) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 3008) + $ => A :MLOAD(SP + 3016) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11759,11 +11811,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2992) + $ => A :MLOAD(SP + 3000) $ => A :XOR - A :MSTORE(SP + 2992) + A :MSTORE(SP + 3000) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 3008) + $ => A :MLOAD(SP + 3016) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -11840,16 +11892,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2992) - $ => B :XOR $ => A :MLOAD(SP + 3000) + $ => B :XOR + $ => A :MLOAD(SP + 3008) $ => A :ADD 8268148718696398848n => B ;; LoadConst32(1925078388) $ => B :ADD - $ => A :MLOAD(SP + 3040) + $ => A :MLOAD(SP + 3048) $ => A :ADD - A :MSTORE(SP + 2984) - B :MSTORE(SP + 2992) + A :MSTORE(SP + 2992) + B :MSTORE(SP + 3000) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -11926,9 +11978,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2976) + A :MSTORE(SP + 2984) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2984) + $ => A :MLOAD(SP + 2992) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12005,11 +12057,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2976) + $ => A :MLOAD(SP + 2984) $ => A :XOR - A :MSTORE(SP + 2976) + A :MSTORE(SP + 2984) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2984) + $ => A :MLOAD(SP + 2992) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12086,26 +12138,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2976) + $ => A :MLOAD(SP + 2984) $ => A :XOR - $ => B :MLOAD(SP + 3112) + $ => B :MLOAD(SP + 3120) A => D - $ => A :MLOAD(SP + 3048) + $ => A :MLOAD(SP + 3056) $ => C :XOR - $ => A :MLOAD(SP + 2984) + $ => A :MLOAD(SP + 2992) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 3048) - $ => B :MLOAD(SP + 3112) + $ => A :MLOAD(SP + 3056) + $ => B :MLOAD(SP + 3120) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 2976) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 2984) 4294967296n => B 0 => D 0 => C @@ -12116,7 +12168,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 52) - A :MSTORE(SP + 2968) + A :MSTORE(SP + 2976) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -12140,7 +12192,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 2960) + E :MSTORE(SP + 2968) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -12167,12 +12219,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 2960) + $ => A :MLOAD(SP + 2968) E => B $ => A :OR - A :MSTORE(SP + 2960) + A :MSTORE(SP + 2968) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 2968) + $ => A :MLOAD(SP + 2976) E :MSTORE(SP) 0 => D A => E @@ -12211,9 +12263,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 2952) + A :MSTORE(SP + 2960) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 2968) + $ => A :MLOAD(SP + 2976) E :MSTORE(SP) 0 => D A => E @@ -12251,33 +12303,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2952) - $ => B :OR $ => A :MLOAD(SP + 2960) + $ => B :OR + $ => A :MLOAD(SP + 2968) $ => A :OR - $ => B :MLOAD(SP + 3136) + $ => B :MLOAD(SP + 3144) $ => C :ADD - A :MSTORE(SP + 2952) - $ => B :MLOAD(SP + 3240) - $ => A :MLOAD(SP + 2992) + A :MSTORE(SP + 2960) + $ => B :MLOAD(SP + 3248) + $ => A :MLOAD(SP + 3000) C => D $ => A :ADD - A :MSTORE(SP + 2944) - $ => B :MLOAD(SP + 3072) - $ => A :MLOAD(SP + 3008) + A :MSTORE(SP + 2952) + $ => B :MLOAD(SP + 3080) + $ => A :MLOAD(SP + 3016) $ => C :XOR - $ => A :MLOAD(SP + 2944) + $ => A :MLOAD(SP + 2952) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3072) + $ => B :MLOAD(SP + 3080) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 2936) + A :MSTORE(SP + 2944) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2944) + $ => A :MLOAD(SP + 2952) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12353,9 +12405,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2928) + A :MSTORE(SP + 2936) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2944) + $ => A :MLOAD(SP + 2952) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12432,11 +12484,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2928) + $ => A :MLOAD(SP + 2936) $ => A :XOR - A :MSTORE(SP + 2928) + A :MSTORE(SP + 2936) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2944) + $ => A :MLOAD(SP + 2952) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12513,16 +12565,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2928) - $ => B :XOR $ => A :MLOAD(SP + 2936) + $ => B :XOR + $ => A :MLOAD(SP + 2944) $ => A :ADD 9286055186164350976n => B ;; LoadConst32(2162078206) $ => B :ADD - $ => A :MLOAD(SP + 2976) + $ => A :MLOAD(SP + 2984) $ => A :ADD - A :MSTORE(SP + 2920) - B :MSTORE(SP + 2928) + A :MSTORE(SP + 2928) + B :MSTORE(SP + 2936) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -12599,9 +12651,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2912) + A :MSTORE(SP + 2920) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2920) + $ => A :MLOAD(SP + 2928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12678,11 +12730,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2912) + $ => A :MLOAD(SP + 2920) $ => A :XOR - A :MSTORE(SP + 2912) + A :MSTORE(SP + 2920) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2920) + $ => A :MLOAD(SP + 2928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -12759,26 +12811,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2912) + $ => A :MLOAD(SP + 2920) $ => A :XOR - $ => B :MLOAD(SP + 3048) - A => E - $ => A :MLOAD(SP + 2984) + $ => B :MLOAD(SP + 3056) + A => D + $ => A :MLOAD(SP + 2992) $ => C :XOR - $ => A :MLOAD(SP + 2920) + $ => A :MLOAD(SP + 2928) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 2984) - $ => B :MLOAD(SP + 3048) + C => E + $ => A :MLOAD(SP + 2992) + $ => B :MLOAD(SP + 3056) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 2912) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 2920) 4294967296n => B 0 => D 0 => C @@ -12789,7 +12841,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 56) - A :MSTORE(SP + 2904) + A :MSTORE(SP + 2912) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -12813,7 +12865,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 2896) + E :MSTORE(SP + 2904) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -12840,12 +12892,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 2896) + $ => A :MLOAD(SP + 2904) E => B $ => A :OR - A :MSTORE(SP + 2896) + A :MSTORE(SP + 2904) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 2904) + $ => A :MLOAD(SP + 2912) E :MSTORE(SP) 0 => D A => E @@ -12884,9 +12936,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 2888) + A :MSTORE(SP + 2896) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 2904) + $ => A :MLOAD(SP + 2912) E :MSTORE(SP) 0 => D A => E @@ -12924,33 +12976,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2888) - $ => B :OR $ => A :MLOAD(SP + 2896) + $ => B :OR + $ => A :MLOAD(SP + 2904) $ => A :OR - $ => B :MLOAD(SP + 3072) - A :MSTORE(SP + 2888) + $ => B :MLOAD(SP + 3080) + A :MSTORE(SP + 2896) $ => C :ADD C => D - $ => A :MLOAD(SP + 2928) - $ => B :MLOAD(SP + 3176) + $ => A :MLOAD(SP + 2936) + $ => B :MLOAD(SP + 3184) $ => A :ADD - A :MSTORE(SP + 2880) - $ => B :MLOAD(SP + 3008) - $ => A :MLOAD(SP + 2944) + A :MSTORE(SP + 2888) + $ => B :MLOAD(SP + 3016) + $ => A :MLOAD(SP + 2952) $ => C :XOR - $ => A :MLOAD(SP + 2880) + $ => A :MLOAD(SP + 2888) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 3008) + $ => B :MLOAD(SP + 3016) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 2872) + A :MSTORE(SP + 2880) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2880) + $ => A :MLOAD(SP + 2888) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13026,9 +13078,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2864) + A :MSTORE(SP + 2872) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2880) + $ => A :MLOAD(SP + 2888) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13105,11 +13157,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2864) + $ => A :MLOAD(SP + 2872) $ => A :XOR - A :MSTORE(SP + 2864) + A :MSTORE(SP + 2872) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2880) + $ => A :MLOAD(SP + 2888) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13186,16 +13238,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2864) - $ => B :XOR $ => A :MLOAD(SP + 2872) + $ => B :XOR + $ => A :MLOAD(SP + 2880) $ => A :ADD 11230858885084479488n => B ;; LoadConst32(2614888103) $ => B :ADD - $ => A :MLOAD(SP + 2912) + $ => A :MLOAD(SP + 2920) $ => A :ADD - A :MSTORE(SP + 2856) - B :MSTORE(SP + 2864) + A :MSTORE(SP + 2864) + B :MSTORE(SP + 2872) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -13272,9 +13324,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2848) + A :MSTORE(SP + 2856) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2856) + $ => A :MLOAD(SP + 2864) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13351,11 +13403,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2848) + $ => A :MLOAD(SP + 2856) $ => A :XOR - A :MSTORE(SP + 2848) + A :MSTORE(SP + 2856) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2856) + $ => A :MLOAD(SP + 2864) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13432,26 +13484,26 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2848) + $ => A :MLOAD(SP + 2856) $ => A :XOR - $ => B :MLOAD(SP + 2984) - A => D - $ => A :MLOAD(SP + 2920) + $ => B :MLOAD(SP + 2992) + A => E + $ => A :MLOAD(SP + 2928) $ => C :XOR - $ => A :MLOAD(SP + 2856) + $ => A :MLOAD(SP + 2864) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 2920) - $ => B :MLOAD(SP + 2984) + C => D + $ => A :MLOAD(SP + 2928) + $ => B :MLOAD(SP + 2992) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - $ => E :MLOAD(SP + 48) - A :MSTORE(SP + 2848) + $ => E :MLOAD(SP + 56) + A :MSTORE(SP + 2856) 4294967296n => B 0 => D 0 => C @@ -13462,7 +13514,7 @@ label_3_3: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E + 60) - A :MSTORE(SP + 2840) + A :MSTORE(SP + 2848) 103079215104n => E ;; LoadConst32(24) A :MSTORE(SP) 0 => D @@ -13486,7 +13538,7 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - E :MSTORE(SP + 2832) + E :MSTORE(SP + 2840) 280375465082880n => B ;; LoadConst32(65280) $ => C :AND C => A @@ -13513,12 +13565,12 @@ label_3_3: $${var _mulShlArith = A * B} ${_mulShlArith / 18446744073709551616} => D ${_mulShlArith % 18446744073709551616} => E :ARITH - $ => A :MLOAD(SP + 2832) + $ => A :MLOAD(SP + 2840) E => B $ => A :OR - A :MSTORE(SP + 2832) + A :MSTORE(SP + 2840) 34359738368n => E ;; LoadConst32(8) - $ => A :MLOAD(SP + 2840) + $ => A :MLOAD(SP + 2848) E :MSTORE(SP) 0 => D A => E @@ -13557,9 +13609,9 @@ label_3_3: E => A 280375465082880n => B ;; LoadConst32(65280) $ => A :AND - A :MSTORE(SP + 2824) + A :MSTORE(SP + 2832) 103079215104n => E ;; LoadConst32(24) - $ => A :MLOAD(SP + 2840) + $ => A :MLOAD(SP + 2848) E :MSTORE(SP) 0 => D A => E @@ -13597,33 +13649,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2824) - $ => B :OR $ => A :MLOAD(SP + 2832) + $ => B :OR + $ => A :MLOAD(SP + 2840) $ => A :OR - $ => B :MLOAD(SP + 3008) - A :MSTORE(SP + 2824) + $ => B :MLOAD(SP + 3016) + A :MSTORE(SP + 2832) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2864) - $ => B :MLOAD(SP + 3112) + C => D + $ => A :MLOAD(SP + 2872) + $ => B :MLOAD(SP + 3120) $ => A :ADD - A :MSTORE(SP + 2816) - $ => B :MLOAD(SP + 2944) - $ => A :MLOAD(SP + 2880) + A :MSTORE(SP + 2824) + $ => B :MLOAD(SP + 2952) + $ => A :MLOAD(SP + 2888) $ => C :XOR - $ => A :MLOAD(SP + 2816) + $ => A :MLOAD(SP + 2824) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2944) + $ => B :MLOAD(SP + 2952) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2808) + A :MSTORE(SP + 2816) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2816) + $ => A :MLOAD(SP + 2824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13699,9 +13751,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2800) + A :MSTORE(SP + 2808) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2816) + $ => A :MLOAD(SP + 2824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13778,11 +13830,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2800) + $ => A :MLOAD(SP + 2808) $ => A :XOR - A :MSTORE(SP + 2800) + A :MSTORE(SP + 2808) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2816) + $ => A :MLOAD(SP + 2824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -13859,16 +13911,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2800) - $ => B :XOR $ => A :MLOAD(SP + 2808) + $ => B :XOR + $ => A :MLOAD(SP + 2816) $ => A :ADD 13951009751228743680n => B ;; LoadConst32(3248222580) $ => B :ADD - $ => A :MLOAD(SP + 2848) + $ => A :MLOAD(SP + 2856) $ => A :ADD - A :MSTORE(SP + 2792) - B :MSTORE(SP + 2800) + A :MSTORE(SP + 2800) + B :MSTORE(SP + 2808) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -13945,9 +13997,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2784) + A :MSTORE(SP + 2792) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2792) + $ => A :MLOAD(SP + 2800) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14024,11 +14076,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2784) + $ => A :MLOAD(SP + 2792) $ => A :XOR - A :MSTORE(SP + 2784) + A :MSTORE(SP + 2792) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2792) + $ => A :MLOAD(SP + 2800) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14105,27 +14157,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2784) + $ => A :MLOAD(SP + 2792) $ => A :XOR - $ => B :MLOAD(SP + 2920) + $ => B :MLOAD(SP + 2928) A => D - $ => A :MLOAD(SP + 2856) + $ => A :MLOAD(SP + 2864) $ => C :XOR - $ => A :MLOAD(SP + 2792) + $ => A :MLOAD(SP + 2800) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2856) - $ => B :MLOAD(SP + 2920) + $ => A :MLOAD(SP + 2864) + $ => B :MLOAD(SP + 2928) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2784) + A :MSTORE(SP + 2792) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3720) + $ => A :MLOAD(SP + 3728) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14201,9 +14253,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2776) + A :MSTORE(SP + 2784) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3720) + $ => A :MLOAD(SP + 3728) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14280,11 +14332,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2776) + $ => A :MLOAD(SP + 2784) $ => A :XOR - A :MSTORE(SP + 2776) + A :MSTORE(SP + 2784) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3720) + $ => A :MLOAD(SP + 3728) E :MSTORE(SP) 0 => D A => E @@ -14322,15 +14374,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2776) + $ => A :MLOAD(SP + 2784) $ => A :XOR - $ => B :MLOAD(SP + 3768) + $ => B :MLOAD(SP + 3776) $ => A :ADD - $ => B :MLOAD(SP + 3208) + $ => B :MLOAD(SP + 3216) $ => A :ADD - A :MSTORE(SP + 2776) + A :MSTORE(SP + 2784) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2896) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14406,9 +14458,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2768) + A :MSTORE(SP + 2776) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2896) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14485,11 +14537,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2776) $ => A :XOR - A :MSTORE(SP + 2768) + A :MSTORE(SP + 2776) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2896) E :MSTORE(SP) 0 => D A => E @@ -14527,33 +14579,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2768) - $ => B :XOR $ => A :MLOAD(SP + 2776) + $ => B :XOR + $ => A :MLOAD(SP + 2784) $ => A :ADD - $ => B :MLOAD(SP + 2944) - A :MSTORE(SP + 2768) + $ => B :MLOAD(SP + 2952) + A :MSTORE(SP + 2776) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2800) - $ => B :MLOAD(SP + 3048) + C => D + $ => A :MLOAD(SP + 2808) + $ => B :MLOAD(SP + 3056) $ => A :ADD - A :MSTORE(SP + 2760) - $ => B :MLOAD(SP + 2880) - $ => A :MLOAD(SP + 2816) + A :MSTORE(SP + 2768) + $ => B :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2824) $ => C :XOR - $ => A :MLOAD(SP + 2760) + $ => A :MLOAD(SP + 2768) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2880) + $ => B :MLOAD(SP + 2888) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2752) + A :MSTORE(SP + 2760) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2760) + $ => A :MLOAD(SP + 2768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14629,9 +14681,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2744) + A :MSTORE(SP + 2752) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2760) + $ => A :MLOAD(SP + 2768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14708,11 +14760,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2744) + $ => A :MLOAD(SP + 2752) $ => A :XOR - A :MSTORE(SP + 2744) + A :MSTORE(SP + 2752) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2760) + $ => A :MLOAD(SP + 2768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14789,16 +14841,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2744) - $ => B :XOR $ => A :MLOAD(SP + 2752) + $ => B :XOR + $ => A :MLOAD(SP + 2760) $ => A :ADD 16472876339687325696n => B ;; LoadConst32(3835390401) $ => B :ADD - $ => A :MLOAD(SP + 2784) + $ => A :MLOAD(SP + 2792) $ => A :ADD - A :MSTORE(SP + 2736) - B :MSTORE(SP + 2744) + A :MSTORE(SP + 2744) + B :MSTORE(SP + 2752) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -14875,9 +14927,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2728) + A :MSTORE(SP + 2736) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2736) + $ => A :MLOAD(SP + 2744) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -14954,11 +15006,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2728) + $ => A :MLOAD(SP + 2736) $ => A :XOR - A :MSTORE(SP + 2728) + A :MSTORE(SP + 2736) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2736) + $ => A :MLOAD(SP + 2744) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15035,27 +15087,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2728) + $ => A :MLOAD(SP + 2736) $ => A :XOR - $ => B :MLOAD(SP + 2856) + $ => B :MLOAD(SP + 2864) A => D - $ => A :MLOAD(SP + 2792) + $ => A :MLOAD(SP + 2800) $ => C :XOR - $ => A :MLOAD(SP + 2736) + $ => A :MLOAD(SP + 2744) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2792) - $ => B :MLOAD(SP + 2856) + $ => A :MLOAD(SP + 2800) + $ => B :MLOAD(SP + 2864) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2728) + A :MSTORE(SP + 2736) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3656) + $ => A :MLOAD(SP + 3664) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15131,9 +15183,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2720) + A :MSTORE(SP + 2728) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3656) + $ => A :MLOAD(SP + 3664) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15210,11 +15262,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2720) + $ => A :MLOAD(SP + 2728) $ => A :XOR - A :MSTORE(SP + 2720) + A :MSTORE(SP + 2728) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3656) + $ => A :MLOAD(SP + 3664) E :MSTORE(SP) 0 => D A => E @@ -15252,15 +15304,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2720) + $ => A :MLOAD(SP + 2728) $ => A :XOR - $ => B :MLOAD(SP + 3720) + $ => B :MLOAD(SP + 3728) $ => A :ADD - $ => B :MLOAD(SP + 3144) + $ => B :MLOAD(SP + 3152) $ => A :ADD - A :MSTORE(SP + 2720) + A :MSTORE(SP + 2728) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2832) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15336,9 +15388,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2712) + A :MSTORE(SP + 2720) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2832) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15415,11 +15467,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) $ => A :XOR - A :MSTORE(SP + 2712) + A :MSTORE(SP + 2720) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2832) E :MSTORE(SP) 0 => D A => E @@ -15457,33 +15509,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2712) - $ => B :XOR $ => A :MLOAD(SP + 2720) + $ => B :XOR + $ => A :MLOAD(SP + 2728) $ => A :ADD - $ => B :MLOAD(SP + 2880) - A :MSTORE(SP + 2712) + $ => B :MLOAD(SP + 2888) + A :MSTORE(SP + 2720) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2744) - $ => B :MLOAD(SP + 2984) + C => D + $ => A :MLOAD(SP + 2752) + $ => B :MLOAD(SP + 2992) $ => A :ADD - A :MSTORE(SP + 2704) - $ => B :MLOAD(SP + 2816) - $ => A :MLOAD(SP + 2760) + A :MSTORE(SP + 2712) + $ => B :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2768) $ => C :XOR - $ => A :MLOAD(SP + 2704) + $ => A :MLOAD(SP + 2712) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2816) + $ => B :MLOAD(SP + 2824) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2696) + A :MSTORE(SP + 2704) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2704) + $ => A :MLOAD(SP + 2712) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15559,9 +15611,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2688) + A :MSTORE(SP + 2696) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2704) + $ => A :MLOAD(SP + 2712) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15638,11 +15690,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2688) + $ => A :MLOAD(SP + 2696) $ => A :XOR - A :MSTORE(SP + 2688) + A :MSTORE(SP + 2696) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2704) + $ => A :MLOAD(SP + 2712) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15719,16 +15771,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2688) - $ => B :XOR $ => A :MLOAD(SP + 2696) + $ => B :XOR + $ => A :MLOAD(SP + 2704) $ => A :ADD 17275323861490991104n => B ;; LoadConst32(4022224774) $ => B :ADD - $ => A :MLOAD(SP + 2728) + $ => A :MLOAD(SP + 2736) $ => A :ADD - A :MSTORE(SP + 2680) - B :MSTORE(SP + 2688) + A :MSTORE(SP + 2688) + B :MSTORE(SP + 2696) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -15805,9 +15857,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2672) + A :MSTORE(SP + 2680) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2680) + $ => A :MLOAD(SP + 2688) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15884,11 +15936,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2672) + $ => A :MLOAD(SP + 2680) $ => A :XOR - A :MSTORE(SP + 2672) + A :MSTORE(SP + 2680) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2680) + $ => A :MLOAD(SP + 2688) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -15965,27 +16017,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2672) + $ => A :MLOAD(SP + 2680) $ => A :XOR - $ => B :MLOAD(SP + 2792) - A => E - $ => A :MLOAD(SP + 2736) + $ => B :MLOAD(SP + 2800) + A => D + $ => A :MLOAD(SP + 2744) $ => C :XOR - $ => A :MLOAD(SP + 2680) + $ => A :MLOAD(SP + 2688) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 2736) - $ => B :MLOAD(SP + 2792) + C => E + $ => A :MLOAD(SP + 2744) + $ => B :MLOAD(SP + 2800) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - A :MSTORE(SP + 2672) + A :MSTORE(SP + 2680) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3592) + $ => A :MLOAD(SP + 3600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16061,9 +16113,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2664) + A :MSTORE(SP + 2672) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3592) + $ => A :MLOAD(SP + 3600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16140,11 +16192,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2664) + $ => A :MLOAD(SP + 2672) $ => A :XOR - A :MSTORE(SP + 2664) + A :MSTORE(SP + 2672) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3592) + $ => A :MLOAD(SP + 3600) E :MSTORE(SP) 0 => D A => E @@ -16182,15 +16234,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2664) + $ => A :MLOAD(SP + 2672) $ => A :XOR - $ => B :MLOAD(SP + 3656) + $ => B :MLOAD(SP + 3664) $ => A :ADD - $ => B :MLOAD(SP + 3080) + $ => B :MLOAD(SP + 3088) $ => A :ADD - A :MSTORE(SP + 2664) + A :MSTORE(SP + 2672) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2776) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16266,9 +16318,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2656) + A :MSTORE(SP + 2664) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2776) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16345,11 +16397,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) $ => A :XOR - A :MSTORE(SP + 2656) + A :MSTORE(SP + 2664) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2776) E :MSTORE(SP) 0 => D A => E @@ -16387,33 +16439,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2656) - $ => B :XOR $ => A :MLOAD(SP + 2664) + $ => B :XOR + $ => A :MLOAD(SP + 2672) $ => A :ADD - $ => B :MLOAD(SP + 2816) - A :MSTORE(SP + 2656) + $ => B :MLOAD(SP + 2824) + A :MSTORE(SP + 2664) $ => C :ADD C => E - $ => A :MLOAD(SP + 2688) - $ => B :MLOAD(SP + 2920) + $ => A :MLOAD(SP + 2696) + $ => B :MLOAD(SP + 2928) $ => A :ADD - A :MSTORE(SP + 2648) - $ => B :MLOAD(SP + 2760) - $ => A :MLOAD(SP + 2704) + A :MSTORE(SP + 2656) + $ => B :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2712) $ => C :XOR - $ => A :MLOAD(SP + 2648) + $ => A :MLOAD(SP + 2656) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2760) + $ => B :MLOAD(SP + 2768) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 2640) + A :MSTORE(SP + 2648) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2648) + $ => A :MLOAD(SP + 2656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16489,9 +16541,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2632) + A :MSTORE(SP + 2640) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2648) + $ => A :MLOAD(SP + 2656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16568,11 +16620,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2632) + $ => A :MLOAD(SP + 2640) $ => A :XOR - A :MSTORE(SP + 2632) + A :MSTORE(SP + 2640) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2648) + $ => A :MLOAD(SP + 2656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16649,16 +16701,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2632) - $ => B :XOR $ => A :MLOAD(SP + 2640) + $ => B :XOR + $ => A :MLOAD(SP + 2648) $ => A :ADD 1135362054803161088n => B ;; LoadConst32(264347078) $ => B :ADD - $ => A :MLOAD(SP + 2672) + $ => A :MLOAD(SP + 2680) $ => A :ADD - A :MSTORE(SP + 2624) - B :MSTORE(SP + 2632) + A :MSTORE(SP + 2632) + B :MSTORE(SP + 2640) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -16735,9 +16787,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2616) + A :MSTORE(SP + 2624) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2624) + $ => A :MLOAD(SP + 2632) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16814,11 +16866,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2616) + $ => A :MLOAD(SP + 2624) $ => A :XOR - A :MSTORE(SP + 2616) + A :MSTORE(SP + 2624) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2624) + $ => A :MLOAD(SP + 2632) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16895,27 +16947,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2616) + $ => A :MLOAD(SP + 2624) $ => A :XOR - $ => B :MLOAD(SP + 2736) + $ => B :MLOAD(SP + 2744) A => D - $ => A :MLOAD(SP + 2680) + $ => A :MLOAD(SP + 2688) $ => C :XOR - $ => A :MLOAD(SP + 2624) + $ => A :MLOAD(SP + 2632) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2680) - $ => B :MLOAD(SP + 2736) + $ => A :MLOAD(SP + 2688) + $ => B :MLOAD(SP + 2744) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2616) + A :MSTORE(SP + 2624) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3528) + $ => A :MLOAD(SP + 3536) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -16991,9 +17043,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2608) + A :MSTORE(SP + 2616) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3528) + $ => A :MLOAD(SP + 3536) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17070,11 +17122,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2608) + $ => A :MLOAD(SP + 2616) $ => A :XOR - A :MSTORE(SP + 2608) + A :MSTORE(SP + 2616) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3528) + $ => A :MLOAD(SP + 3536) E :MSTORE(SP) 0 => D A => E @@ -17112,15 +17164,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2608) + $ => A :MLOAD(SP + 2616) $ => A :XOR - $ => B :MLOAD(SP + 3592) + $ => B :MLOAD(SP + 3600) $ => A :ADD - $ => B :MLOAD(SP + 3016) + $ => B :MLOAD(SP + 3024) $ => A :ADD - A :MSTORE(SP + 2608) + A :MSTORE(SP + 2616) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17196,9 +17248,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2600) + A :MSTORE(SP + 2608) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17275,11 +17327,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) $ => A :XOR - A :MSTORE(SP + 2600) + A :MSTORE(SP + 2608) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) E :MSTORE(SP) 0 => D A => E @@ -17317,33 +17369,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2600) - $ => B :XOR $ => A :MLOAD(SP + 2608) + $ => B :XOR + $ => A :MLOAD(SP + 2616) $ => A :ADD - $ => B :MLOAD(SP + 2760) - A :MSTORE(SP + 2600) + $ => B :MLOAD(SP + 2768) + A :MSTORE(SP + 2608) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2632) - $ => B :MLOAD(SP + 2856) + C => D + $ => A :MLOAD(SP + 2640) + $ => B :MLOAD(SP + 2864) $ => A :ADD - A :MSTORE(SP + 2592) - $ => B :MLOAD(SP + 2704) - $ => A :MLOAD(SP + 2648) + A :MSTORE(SP + 2600) + $ => B :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2656) $ => C :XOR - $ => A :MLOAD(SP + 2592) + $ => A :MLOAD(SP + 2600) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2704) + $ => B :MLOAD(SP + 2712) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2584) + A :MSTORE(SP + 2592) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2592) + $ => A :MLOAD(SP + 2600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17419,9 +17471,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2576) + A :MSTORE(SP + 2584) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2592) + $ => A :MLOAD(SP + 2600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17498,11 +17550,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2576) + $ => A :MLOAD(SP + 2584) $ => A :XOR - A :MSTORE(SP + 2576) + A :MSTORE(SP + 2584) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2592) + $ => A :MLOAD(SP + 2600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17579,16 +17631,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2576) - $ => B :XOR $ => A :MLOAD(SP + 2584) + $ => B :XOR + $ => A :MLOAD(SP + 2592) $ => A :ADD 2597628982631333888n => B ;; LoadConst32(604807628) $ => B :ADD - $ => A :MLOAD(SP + 2616) + $ => A :MLOAD(SP + 2624) $ => A :ADD - A :MSTORE(SP + 2568) - B :MSTORE(SP + 2576) + A :MSTORE(SP + 2576) + B :MSTORE(SP + 2584) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -17665,9 +17717,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2560) + A :MSTORE(SP + 2568) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2568) + $ => A :MLOAD(SP + 2576) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17744,11 +17796,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2560) + $ => A :MLOAD(SP + 2568) $ => A :XOR - A :MSTORE(SP + 2560) + A :MSTORE(SP + 2568) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2568) + $ => A :MLOAD(SP + 2576) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17825,27 +17877,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2560) + $ => A :MLOAD(SP + 2568) $ => A :XOR - $ => B :MLOAD(SP + 2680) - A => D - $ => A :MLOAD(SP + 2624) + $ => B :MLOAD(SP + 2688) + A => E + $ => A :MLOAD(SP + 2632) $ => C :XOR - $ => A :MLOAD(SP + 2568) + $ => A :MLOAD(SP + 2576) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 2624) - $ => B :MLOAD(SP + 2680) + C => D + $ => A :MLOAD(SP + 2632) + $ => B :MLOAD(SP + 2688) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - A :MSTORE(SP + 2560) + A :MSTORE(SP + 2568) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3464) + $ => A :MLOAD(SP + 3472) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -17921,9 +17973,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2552) + A :MSTORE(SP + 2560) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3464) + $ => A :MLOAD(SP + 3472) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18000,11 +18052,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2552) + $ => A :MLOAD(SP + 2560) $ => A :XOR - A :MSTORE(SP + 2552) + A :MSTORE(SP + 2560) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3464) + $ => A :MLOAD(SP + 3472) E :MSTORE(SP) 0 => D A => E @@ -18042,15 +18094,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2552) + $ => A :MLOAD(SP + 2560) $ => A :XOR - $ => B :MLOAD(SP + 3528) + $ => B :MLOAD(SP + 3536) $ => A :ADD - $ => B :MLOAD(SP + 2952) + $ => B :MLOAD(SP + 2960) $ => A :ADD - A :MSTORE(SP + 2552) + A :MSTORE(SP + 2560) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18126,9 +18178,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2544) + A :MSTORE(SP + 2552) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18205,11 +18257,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) $ => A :XOR - A :MSTORE(SP + 2544) + A :MSTORE(SP + 2552) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) E :MSTORE(SP) 0 => D A => E @@ -18247,33 +18299,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2544) - $ => B :XOR $ => A :MLOAD(SP + 2552) + $ => B :XOR + $ => A :MLOAD(SP + 2560) $ => A :ADD - $ => B :MLOAD(SP + 2704) - A :MSTORE(SP + 2544) + $ => B :MLOAD(SP + 2712) + A :MSTORE(SP + 2552) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2576) - $ => B :MLOAD(SP + 2792) + C => D + $ => A :MLOAD(SP + 2584) + $ => B :MLOAD(SP + 2800) $ => A :ADD - A :MSTORE(SP + 2536) - $ => B :MLOAD(SP + 2648) - $ => A :MLOAD(SP + 2592) + A :MSTORE(SP + 2544) + $ => B :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2600) $ => C :XOR - $ => A :MLOAD(SP + 2536) + $ => A :MLOAD(SP + 2544) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2648) + $ => B :MLOAD(SP + 2656) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2528) + A :MSTORE(SP + 2536) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2536) + $ => A :MLOAD(SP + 2544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18349,9 +18401,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2520) + A :MSTORE(SP + 2528) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2536) + $ => A :MLOAD(SP + 2544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18428,11 +18480,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2520) + $ => A :MLOAD(SP + 2528) $ => A :XOR - A :MSTORE(SP + 2520) + A :MSTORE(SP + 2528) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2536) + $ => A :MLOAD(SP + 2544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18509,16 +18561,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2520) - $ => B :XOR $ => A :MLOAD(SP + 2528) + $ => B :XOR + $ => A :MLOAD(SP + 2536) $ => A :ADD 3308224256533331968n => B ;; LoadConst32(770255983) $ => B :ADD - $ => A :MLOAD(SP + 2560) + $ => A :MLOAD(SP + 2568) $ => A :ADD - A :MSTORE(SP + 2512) - B :MSTORE(SP + 2520) + A :MSTORE(SP + 2520) + B :MSTORE(SP + 2528) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -18595,9 +18647,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2504) + A :MSTORE(SP + 2512) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2512) + $ => A :MLOAD(SP + 2520) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18674,11 +18726,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2504) + $ => A :MLOAD(SP + 2512) $ => A :XOR - A :MSTORE(SP + 2504) + A :MSTORE(SP + 2512) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2512) + $ => A :MLOAD(SP + 2520) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18755,27 +18807,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2504) + $ => A :MLOAD(SP + 2512) $ => A :XOR - $ => B :MLOAD(SP + 2624) - A => E - $ => A :MLOAD(SP + 2568) + $ => B :MLOAD(SP + 2632) + A => D + $ => A :MLOAD(SP + 2576) $ => C :XOR - $ => A :MLOAD(SP + 2512) + $ => A :MLOAD(SP + 2520) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 2568) - $ => B :MLOAD(SP + 2624) + C => E + $ => A :MLOAD(SP + 2576) + $ => B :MLOAD(SP + 2632) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - A :MSTORE(SP + 2504) + A :MSTORE(SP + 2512) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3400) + $ => A :MLOAD(SP + 3408) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18851,9 +18903,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2496) + A :MSTORE(SP + 2504) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3400) + $ => A :MLOAD(SP + 3408) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -18930,11 +18982,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2496) + $ => A :MLOAD(SP + 2504) $ => A :XOR - A :MSTORE(SP + 2496) + A :MSTORE(SP + 2504) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3400) + $ => A :MLOAD(SP + 3408) E :MSTORE(SP) 0 => D A => E @@ -18972,15 +19024,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2496) + $ => A :MLOAD(SP + 2504) $ => A :XOR - $ => B :MLOAD(SP + 3464) + $ => B :MLOAD(SP + 3472) $ => A :ADD - $ => B :MLOAD(SP + 2888) + $ => B :MLOAD(SP + 2896) $ => A :ADD - A :MSTORE(SP + 2496) + A :MSTORE(SP + 2504) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19056,9 +19108,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2488) + A :MSTORE(SP + 2496) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19135,11 +19187,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) $ => A :XOR - A :MSTORE(SP + 2488) + A :MSTORE(SP + 2496) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) E :MSTORE(SP) 0 => D A => E @@ -19177,33 +19229,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2488) - $ => B :XOR $ => A :MLOAD(SP + 2496) + $ => B :XOR + $ => A :MLOAD(SP + 2504) $ => A :ADD - $ => B :MLOAD(SP + 2648) - A :MSTORE(SP + 2488) + $ => B :MLOAD(SP + 2656) + A :MSTORE(SP + 2496) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2520) - $ => B :MLOAD(SP + 2736) + C => D + $ => A :MLOAD(SP + 2528) + $ => B :MLOAD(SP + 2744) $ => A :ADD - A :MSTORE(SP + 2480) - $ => B :MLOAD(SP + 2592) - $ => A :MLOAD(SP + 2536) + A :MSTORE(SP + 2488) + $ => B :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2544) $ => C :XOR - $ => A :MLOAD(SP + 2480) + $ => A :MLOAD(SP + 2488) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2592) + $ => B :MLOAD(SP + 2600) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2472) + A :MSTORE(SP + 2480) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2480) + $ => A :MLOAD(SP + 2488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19279,9 +19331,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2464) + A :MSTORE(SP + 2472) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2480) + $ => A :MLOAD(SP + 2488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19358,11 +19410,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2464) + $ => A :MLOAD(SP + 2472) $ => A :XOR - A :MSTORE(SP + 2464) + A :MSTORE(SP + 2472) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2480) + $ => A :MLOAD(SP + 2488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19439,16 +19491,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2464) - $ => B :XOR $ => A :MLOAD(SP + 2472) + $ => B :XOR + $ => A :MLOAD(SP + 2480) $ => A :ADD 5365058921784410112n => B ;; LoadConst32(1249150122) $ => B :ADD - $ => A :MLOAD(SP + 2504) + $ => A :MLOAD(SP + 2512) $ => A :ADD - A :MSTORE(SP + 2456) - B :MSTORE(SP + 2464) + A :MSTORE(SP + 2464) + B :MSTORE(SP + 2472) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -19525,9 +19577,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2448) + A :MSTORE(SP + 2456) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2456) + $ => A :MLOAD(SP + 2464) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19604,11 +19656,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2448) + $ => A :MLOAD(SP + 2456) $ => A :XOR - A :MSTORE(SP + 2448) + A :MSTORE(SP + 2456) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2456) + $ => A :MLOAD(SP + 2464) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19685,27 +19737,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2448) + $ => A :MLOAD(SP + 2456) $ => A :XOR - $ => B :MLOAD(SP + 2568) + $ => B :MLOAD(SP + 2576) A => D - $ => A :MLOAD(SP + 2512) + $ => A :MLOAD(SP + 2520) $ => C :XOR - $ => A :MLOAD(SP + 2456) + $ => A :MLOAD(SP + 2464) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2512) - $ => B :MLOAD(SP + 2568) + $ => A :MLOAD(SP + 2520) + $ => B :MLOAD(SP + 2576) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2448) + A :MSTORE(SP + 2456) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3336) + $ => A :MLOAD(SP + 3344) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19781,9 +19833,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2440) + A :MSTORE(SP + 2448) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3336) + $ => A :MLOAD(SP + 3344) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19860,11 +19912,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2440) + $ => A :MLOAD(SP + 2448) $ => A :XOR - A :MSTORE(SP + 2440) + A :MSTORE(SP + 2448) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3336) + $ => A :MLOAD(SP + 3344) E :MSTORE(SP) 0 => D A => E @@ -19902,15 +19954,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2440) + $ => A :MLOAD(SP + 2448) $ => A :XOR - $ => B :MLOAD(SP + 3400) + $ => B :MLOAD(SP + 3408) $ => A :ADD - $ => B :MLOAD(SP + 2824) + $ => B :MLOAD(SP + 2832) $ => A :ADD - A :MSTORE(SP + 2440) + A :MSTORE(SP + 2448) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -19986,9 +20038,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2432) + A :MSTORE(SP + 2440) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20065,11 +20117,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) $ => A :XOR - A :MSTORE(SP + 2432) + A :MSTORE(SP + 2440) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) E :MSTORE(SP) 0 => D A => E @@ -20107,33 +20159,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2432) - $ => B :XOR $ => A :MLOAD(SP + 2440) + $ => B :XOR + $ => A :MLOAD(SP + 2448) $ => A :ADD - $ => B :MLOAD(SP + 2592) - A :MSTORE(SP + 2432) + $ => B :MLOAD(SP + 2600) + A :MSTORE(SP + 2440) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2464) - $ => B :MLOAD(SP + 2680) + C => D + $ => A :MLOAD(SP + 2472) + $ => B :MLOAD(SP + 2688) $ => A :ADD - A :MSTORE(SP + 2424) - $ => B :MLOAD(SP + 2536) - $ => A :MLOAD(SP + 2480) + A :MSTORE(SP + 2432) + $ => B :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2488) $ => C :XOR - $ => A :MLOAD(SP + 2424) + $ => A :MLOAD(SP + 2432) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2536) + $ => B :MLOAD(SP + 2544) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2416) + A :MSTORE(SP + 2424) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2424) + $ => A :MLOAD(SP + 2432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20209,9 +20261,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2408) + A :MSTORE(SP + 2416) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2424) + $ => A :MLOAD(SP + 2432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20288,11 +20340,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2408) + $ => A :MLOAD(SP + 2416) $ => A :XOR - A :MSTORE(SP + 2408) + A :MSTORE(SP + 2416) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2424) + $ => A :MLOAD(SP + 2432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20369,16 +20421,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2408) - $ => B :XOR $ => A :MLOAD(SP + 2416) + $ => B :XOR + $ => A :MLOAD(SP + 2424) $ => A :ADD 6679025009748344832n => B ;; LoadConst32(1555081692) $ => B :ADD - $ => A :MLOAD(SP + 2448) + $ => A :MLOAD(SP + 2456) $ => A :ADD - A :MSTORE(SP + 2400) - B :MSTORE(SP + 2408) + A :MSTORE(SP + 2408) + B :MSTORE(SP + 2416) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -20455,9 +20507,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2392) + A :MSTORE(SP + 2400) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2400) + $ => A :MLOAD(SP + 2408) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20534,11 +20586,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2392) + $ => A :MLOAD(SP + 2400) $ => A :XOR - A :MSTORE(SP + 2392) + A :MSTORE(SP + 2400) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2400) + $ => A :MLOAD(SP + 2408) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20615,27 +20667,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2392) + $ => A :MLOAD(SP + 2400) $ => A :XOR - $ => B :MLOAD(SP + 2512) + $ => B :MLOAD(SP + 2520) A => D - $ => A :MLOAD(SP + 2456) + $ => A :MLOAD(SP + 2464) $ => C :XOR - $ => A :MLOAD(SP + 2400) + $ => A :MLOAD(SP + 2408) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2456) - $ => B :MLOAD(SP + 2512) + $ => A :MLOAD(SP + 2464) + $ => B :MLOAD(SP + 2520) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2392) + A :MSTORE(SP + 2400) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3272) + $ => A :MLOAD(SP + 3280) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20711,9 +20763,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2384) + A :MSTORE(SP + 2392) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3272) + $ => A :MLOAD(SP + 3280) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20790,11 +20842,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2384) + $ => A :MLOAD(SP + 2392) $ => A :XOR - A :MSTORE(SP + 2384) + A :MSTORE(SP + 2392) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3272) + $ => A :MLOAD(SP + 3280) E :MSTORE(SP) 0 => D A => E @@ -20832,15 +20884,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2384) + $ => A :MLOAD(SP + 2392) $ => A :XOR - $ => B :MLOAD(SP + 3336) + $ => B :MLOAD(SP + 3344) $ => A :ADD - $ => B :MLOAD(SP + 2768) + $ => B :MLOAD(SP + 2776) $ => A :ADD - A :MSTORE(SP + 2384) + A :MSTORE(SP + 2392) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20916,9 +20968,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2376) + A :MSTORE(SP + 2384) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -20995,11 +21047,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2376) + $ => A :MLOAD(SP + 2384) $ => A :XOR - A :MSTORE(SP + 2376) + A :MSTORE(SP + 2384) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) E :MSTORE(SP) 0 => D A => E @@ -21037,33 +21089,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2376) - $ => B :XOR $ => A :MLOAD(SP + 2384) + $ => B :XOR + $ => A :MLOAD(SP + 2392) $ => A :ADD - $ => B :MLOAD(SP + 2536) - A :MSTORE(SP + 2376) + $ => B :MLOAD(SP + 2544) + A :MSTORE(SP + 2384) $ => C :ADD C => E - $ => A :MLOAD(SP + 2408) - $ => B :MLOAD(SP + 2624) + $ => A :MLOAD(SP + 2416) + $ => B :MLOAD(SP + 2632) $ => A :ADD - A :MSTORE(SP + 2368) - $ => B :MLOAD(SP + 2480) - $ => A :MLOAD(SP + 2424) + A :MSTORE(SP + 2376) + $ => B :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2432) $ => C :XOR - $ => A :MLOAD(SP + 2368) + $ => A :MLOAD(SP + 2376) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2480) + $ => B :MLOAD(SP + 2488) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 2360) + A :MSTORE(SP + 2368) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2368) + $ => A :MLOAD(SP + 2376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21139,9 +21191,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2352) + A :MSTORE(SP + 2360) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2368) + $ => A :MLOAD(SP + 2376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21218,11 +21270,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2352) + $ => A :MLOAD(SP + 2360) $ => A :XOR - A :MSTORE(SP + 2352) + A :MSTORE(SP + 2360) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2368) + $ => A :MLOAD(SP + 2376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21299,16 +21351,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2352) - $ => B :XOR $ => A :MLOAD(SP + 2360) + $ => B :XOR + $ => A :MLOAD(SP + 2368) $ => A :ADD 8573033835560697856n => B ;; LoadConst32(1996064986) $ => B :ADD - $ => A :MLOAD(SP + 2392) + $ => A :MLOAD(SP + 2400) $ => A :ADD - A :MSTORE(SP + 2344) - B :MSTORE(SP + 2352) + A :MSTORE(SP + 2352) + B :MSTORE(SP + 2360) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -21385,9 +21437,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2336) + A :MSTORE(SP + 2344) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2344) + $ => A :MLOAD(SP + 2352) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21464,11 +21516,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2336) + $ => A :MLOAD(SP + 2344) $ => A :XOR - A :MSTORE(SP + 2336) + A :MSTORE(SP + 2344) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2344) + $ => A :MLOAD(SP + 2352) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21545,27 +21597,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2336) + $ => A :MLOAD(SP + 2344) $ => A :XOR - $ => B :MLOAD(SP + 2456) - A => E - $ => A :MLOAD(SP + 2400) + $ => B :MLOAD(SP + 2464) + A => D + $ => A :MLOAD(SP + 2408) $ => C :XOR - $ => A :MLOAD(SP + 2344) + $ => A :MLOAD(SP + 2352) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 2400) - $ => B :MLOAD(SP + 2456) + C => E + $ => A :MLOAD(SP + 2408) + $ => B :MLOAD(SP + 2464) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - A :MSTORE(SP + 2336) + A :MSTORE(SP + 2344) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3208) + $ => A :MLOAD(SP + 3216) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21641,9 +21693,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2328) + A :MSTORE(SP + 2336) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3208) + $ => A :MLOAD(SP + 3216) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21720,11 +21772,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2328) + $ => A :MLOAD(SP + 2336) $ => A :XOR - A :MSTORE(SP + 2328) + A :MSTORE(SP + 2336) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3208) + $ => A :MLOAD(SP + 3216) E :MSTORE(SP) 0 => D A => E @@ -21762,15 +21814,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2328) + $ => A :MLOAD(SP + 2336) $ => A :XOR - $ => B :MLOAD(SP + 3272) + $ => B :MLOAD(SP + 3280) $ => A :ADD - $ => B :MLOAD(SP + 2712) + $ => B :MLOAD(SP + 2720) $ => A :ADD - A :MSTORE(SP + 2328) + A :MSTORE(SP + 2336) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21846,9 +21898,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2320) + A :MSTORE(SP + 2328) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -21925,11 +21977,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2320) + $ => A :MLOAD(SP + 2328) $ => A :XOR - A :MSTORE(SP + 2320) + A :MSTORE(SP + 2328) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) E :MSTORE(SP) 0 => D A => E @@ -21967,33 +22019,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2320) - $ => B :XOR $ => A :MLOAD(SP + 2328) + $ => B :XOR + $ => A :MLOAD(SP + 2336) $ => A :ADD - $ => B :MLOAD(SP + 2480) - A :MSTORE(SP + 2320) + $ => B :MLOAD(SP + 2488) + A :MSTORE(SP + 2328) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2352) - $ => B :MLOAD(SP + 2568) + C => D + $ => A :MLOAD(SP + 2360) + $ => B :MLOAD(SP + 2576) $ => A :ADD - A :MSTORE(SP + 2312) - $ => B :MLOAD(SP + 2424) - $ => A :MLOAD(SP + 2368) + A :MSTORE(SP + 2320) + $ => B :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2376) $ => C :XOR - $ => A :MLOAD(SP + 2312) + $ => A :MLOAD(SP + 2320) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2424) + $ => B :MLOAD(SP + 2432) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2304) + A :MSTORE(SP + 2312) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2312) + $ => A :MLOAD(SP + 2320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22069,9 +22121,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2296) + A :MSTORE(SP + 2304) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2312) + $ => A :MLOAD(SP + 2320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22148,11 +22200,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2296) + $ => A :MLOAD(SP + 2304) $ => A :XOR - A :MSTORE(SP + 2296) + A :MSTORE(SP + 2304) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2312) + $ => A :MLOAD(SP + 2320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22229,16 +22281,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2296) - $ => B :XOR $ => A :MLOAD(SP + 2304) + $ => B :XOR + $ => A :MLOAD(SP + 2312) $ => A :ADD 10970295154950275072n => B ;; LoadConst32(2554220882) $ => B :ADD - $ => A :MLOAD(SP + 2336) + $ => A :MLOAD(SP + 2344) $ => A :ADD - A :MSTORE(SP + 2288) - B :MSTORE(SP + 2296) + A :MSTORE(SP + 2296) + B :MSTORE(SP + 2304) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -22315,9 +22367,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2280) + A :MSTORE(SP + 2288) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2288) + $ => A :MLOAD(SP + 2296) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22394,11 +22446,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2280) + $ => A :MLOAD(SP + 2288) $ => A :XOR - A :MSTORE(SP + 2280) + A :MSTORE(SP + 2288) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2288) + $ => A :MLOAD(SP + 2296) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22475,27 +22527,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2280) + $ => A :MLOAD(SP + 2288) $ => A :XOR - $ => B :MLOAD(SP + 2400) - A => D - $ => A :MLOAD(SP + 2344) + $ => B :MLOAD(SP + 2408) + A => E + $ => A :MLOAD(SP + 2352) $ => C :XOR - $ => A :MLOAD(SP + 2288) + $ => A :MLOAD(SP + 2296) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 2344) - $ => B :MLOAD(SP + 2400) + C => D + $ => A :MLOAD(SP + 2352) + $ => B :MLOAD(SP + 2408) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - A :MSTORE(SP + 2280) + A :MSTORE(SP + 2288) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3144) + $ => A :MLOAD(SP + 3152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22571,9 +22623,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2272) + A :MSTORE(SP + 2280) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3144) + $ => A :MLOAD(SP + 3152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22650,11 +22702,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2272) + $ => A :MLOAD(SP + 2280) $ => A :XOR - A :MSTORE(SP + 2272) + A :MSTORE(SP + 2280) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3144) + $ => A :MLOAD(SP + 3152) E :MSTORE(SP) 0 => D A => E @@ -22692,15 +22744,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2272) + $ => A :MLOAD(SP + 2280) $ => A :XOR - $ => B :MLOAD(SP + 3208) + $ => B :MLOAD(SP + 3216) $ => A :ADD - $ => B :MLOAD(SP + 2656) + $ => B :MLOAD(SP + 2664) $ => A :ADD - A :MSTORE(SP + 2272) + A :MSTORE(SP + 2280) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2376) + $ => A :MLOAD(SP + 2384) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22776,9 +22828,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2264) + A :MSTORE(SP + 2272) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2376) + $ => A :MLOAD(SP + 2384) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22855,11 +22907,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) $ => A :XOR - A :MSTORE(SP + 2264) + A :MSTORE(SP + 2272) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2376) + $ => A :MLOAD(SP + 2384) E :MSTORE(SP) 0 => D A => E @@ -22897,33 +22949,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2264) - $ => B :XOR $ => A :MLOAD(SP + 2272) + $ => B :XOR + $ => A :MLOAD(SP + 2280) $ => A :ADD - $ => B :MLOAD(SP + 2424) - A :MSTORE(SP + 2264) + $ => B :MLOAD(SP + 2432) + A :MSTORE(SP + 2272) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2296) - $ => B :MLOAD(SP + 2512) + C => D + $ => A :MLOAD(SP + 2304) + $ => B :MLOAD(SP + 2520) $ => A :ADD - A :MSTORE(SP + 2256) - $ => B :MLOAD(SP + 2368) - $ => A :MLOAD(SP + 2312) + A :MSTORE(SP + 2264) + $ => B :MLOAD(SP + 2376) + $ => A :MLOAD(SP + 2320) $ => C :XOR - $ => A :MLOAD(SP + 2256) + $ => A :MLOAD(SP + 2264) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2368) + $ => B :MLOAD(SP + 2376) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2248) + A :MSTORE(SP + 2256) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2256) + $ => A :MLOAD(SP + 2264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -22999,9 +23051,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2240) + A :MSTORE(SP + 2248) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2256) + $ => A :MLOAD(SP + 2264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23078,11 +23130,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2240) + $ => A :MLOAD(SP + 2248) $ => A :XOR - A :MSTORE(SP + 2240) + A :MSTORE(SP + 2248) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2256) + $ => A :MLOAD(SP + 2264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23159,16 +23211,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2240) - $ => B :XOR $ => A :MLOAD(SP + 2248) + $ => B :XOR + $ => A :MLOAD(SP + 2256) $ => A :ADD 12119686243684450304n => B ;; LoadConst32(2821834349) $ => B :ADD - $ => A :MLOAD(SP + 2280) + $ => A :MLOAD(SP + 2288) $ => A :ADD - A :MSTORE(SP + 2232) - B :MSTORE(SP + 2240) + A :MSTORE(SP + 2240) + B :MSTORE(SP + 2248) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -23245,9 +23297,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2224) + A :MSTORE(SP + 2232) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2232) + $ => A :MLOAD(SP + 2240) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23324,11 +23376,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2224) + $ => A :MLOAD(SP + 2232) $ => A :XOR - A :MSTORE(SP + 2224) + A :MSTORE(SP + 2232) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2232) + $ => A :MLOAD(SP + 2240) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23405,27 +23457,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2224) + $ => A :MLOAD(SP + 2232) $ => A :XOR - $ => B :MLOAD(SP + 2344) + $ => B :MLOAD(SP + 2352) A => D - $ => A :MLOAD(SP + 2288) + $ => A :MLOAD(SP + 2296) $ => C :XOR - $ => A :MLOAD(SP + 2232) + $ => A :MLOAD(SP + 2240) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2288) - $ => B :MLOAD(SP + 2344) + $ => A :MLOAD(SP + 2296) + $ => B :MLOAD(SP + 2352) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2224) + A :MSTORE(SP + 2232) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3080) + $ => A :MLOAD(SP + 3088) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23501,9 +23553,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2216) + A :MSTORE(SP + 2224) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3080) + $ => A :MLOAD(SP + 3088) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23580,11 +23632,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2216) + $ => A :MLOAD(SP + 2224) $ => A :XOR - A :MSTORE(SP + 2216) + A :MSTORE(SP + 2224) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3080) + $ => A :MLOAD(SP + 3088) E :MSTORE(SP) 0 => D A => E @@ -23622,15 +23674,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2216) + $ => A :MLOAD(SP + 2224) $ => A :XOR - $ => B :MLOAD(SP + 3144) + $ => B :MLOAD(SP + 3152) $ => A :ADD - $ => B :MLOAD(SP + 2600) + $ => B :MLOAD(SP + 2608) $ => A :ADD - A :MSTORE(SP + 2216) + A :MSTORE(SP + 2224) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2320) + $ => A :MLOAD(SP + 2328) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23706,9 +23758,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2208) + A :MSTORE(SP + 2216) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2320) + $ => A :MLOAD(SP + 2328) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23785,11 +23837,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) $ => A :XOR - A :MSTORE(SP + 2208) + A :MSTORE(SP + 2216) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2320) + $ => A :MLOAD(SP + 2328) E :MSTORE(SP) 0 => D A => E @@ -23827,33 +23879,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2208) - $ => B :XOR $ => A :MLOAD(SP + 2216) + $ => B :XOR + $ => A :MLOAD(SP + 2224) $ => A :ADD - $ => B :MLOAD(SP + 2368) - A :MSTORE(SP + 2208) + $ => B :MLOAD(SP + 2376) + A :MSTORE(SP + 2216) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2240) - $ => B :MLOAD(SP + 2456) + C => D + $ => A :MLOAD(SP + 2248) + $ => B :MLOAD(SP + 2464) $ => A :ADD - A :MSTORE(SP + 2200) - $ => B :MLOAD(SP + 2312) - $ => A :MLOAD(SP + 2256) + A :MSTORE(SP + 2208) + $ => B :MLOAD(SP + 2320) + $ => A :MLOAD(SP + 2264) $ => C :XOR - $ => A :MLOAD(SP + 2200) + $ => A :MLOAD(SP + 2208) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2312) + $ => B :MLOAD(SP + 2320) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2192) + A :MSTORE(SP + 2200) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2200) + $ => A :MLOAD(SP + 2208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -23929,9 +23981,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2184) + A :MSTORE(SP + 2192) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2200) + $ => A :MLOAD(SP + 2208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24008,11 +24060,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2184) + $ => A :MLOAD(SP + 2192) $ => A :XOR - A :MSTORE(SP + 2184) + A :MSTORE(SP + 2192) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2200) + $ => A :MLOAD(SP + 2208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24089,16 +24141,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2184) - $ => B :XOR $ => A :MLOAD(SP + 2192) + $ => B :XOR + $ => A :MLOAD(SP + 2200) $ => A :ADD 12683024715552391168n => B ;; LoadConst32(2952996808) $ => B :ADD - $ => A :MLOAD(SP + 2224) + $ => A :MLOAD(SP + 2232) $ => A :ADD - A :MSTORE(SP + 2176) - B :MSTORE(SP + 2184) + A :MSTORE(SP + 2184) + B :MSTORE(SP + 2192) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -24175,9 +24227,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2168) + A :MSTORE(SP + 2176) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2176) + $ => A :MLOAD(SP + 2184) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24254,11 +24306,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2168) + $ => A :MLOAD(SP + 2176) $ => A :XOR - A :MSTORE(SP + 2168) + A :MSTORE(SP + 2176) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2176) + $ => A :MLOAD(SP + 2184) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24335,27 +24387,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2168) + $ => A :MLOAD(SP + 2176) $ => A :XOR - $ => B :MLOAD(SP + 2288) - A => E - $ => A :MLOAD(SP + 2232) + $ => B :MLOAD(SP + 2296) + A => D + $ => A :MLOAD(SP + 2240) $ => C :XOR - $ => A :MLOAD(SP + 2176) + $ => A :MLOAD(SP + 2184) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 2232) - $ => B :MLOAD(SP + 2288) + C => E + $ => A :MLOAD(SP + 2240) + $ => B :MLOAD(SP + 2296) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - A :MSTORE(SP + 2168) + A :MSTORE(SP + 2176) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 3016) + $ => A :MLOAD(SP + 3024) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24431,9 +24483,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2160) + A :MSTORE(SP + 2168) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 3016) + $ => A :MLOAD(SP + 3024) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24510,11 +24562,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2160) + $ => A :MLOAD(SP + 2168) $ => A :XOR - A :MSTORE(SP + 2160) + A :MSTORE(SP + 2168) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 3016) + $ => A :MLOAD(SP + 3024) E :MSTORE(SP) 0 => D A => E @@ -24552,15 +24604,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2160) + $ => A :MLOAD(SP + 2168) $ => A :XOR - $ => B :MLOAD(SP + 3080) + $ => B :MLOAD(SP + 3088) $ => A :ADD - $ => B :MLOAD(SP + 2544) + $ => B :MLOAD(SP + 2552) $ => A :ADD - A :MSTORE(SP + 2160) + A :MSTORE(SP + 2168) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24636,9 +24688,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2152) + A :MSTORE(SP + 2160) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24715,11 +24767,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2160) $ => A :XOR - A :MSTORE(SP + 2152) + A :MSTORE(SP + 2160) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) E :MSTORE(SP) 0 => D A => E @@ -24757,33 +24809,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2152) - $ => B :XOR $ => A :MLOAD(SP + 2160) + $ => B :XOR + $ => A :MLOAD(SP + 2168) $ => A :ADD - $ => B :MLOAD(SP + 2312) - A :MSTORE(SP + 2152) + $ => B :MLOAD(SP + 2320) + A :MSTORE(SP + 2160) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2184) - $ => B :MLOAD(SP + 2400) + C => D + $ => A :MLOAD(SP + 2192) + $ => B :MLOAD(SP + 2408) $ => A :ADD - A :MSTORE(SP + 2144) - $ => B :MLOAD(SP + 2256) - $ => A :MLOAD(SP + 2200) + A :MSTORE(SP + 2152) + $ => B :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2208) $ => C :XOR - $ => A :MLOAD(SP + 2144) + $ => A :MLOAD(SP + 2152) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2256) + $ => B :MLOAD(SP + 2264) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2136) + A :MSTORE(SP + 2144) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2144) + $ => A :MLOAD(SP + 2152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24859,9 +24911,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2128) + A :MSTORE(SP + 2136) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2144) + $ => A :MLOAD(SP + 2152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -24938,11 +24990,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2128) + $ => A :MLOAD(SP + 2136) $ => A :XOR - A :MSTORE(SP + 2128) + A :MSTORE(SP + 2136) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2144) + $ => A :MLOAD(SP + 2152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25019,16 +25071,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2128) - $ => B :XOR $ => A :MLOAD(SP + 2136) + $ => B :XOR + $ => A :MLOAD(SP + 2144) $ => A :ADD 13788192226846703616n => B ;; LoadConst32(3210313671) $ => B :ADD - $ => A :MLOAD(SP + 2168) + $ => A :MLOAD(SP + 2176) $ => A :ADD - A :MSTORE(SP + 2120) - B :MSTORE(SP + 2128) + A :MSTORE(SP + 2128) + B :MSTORE(SP + 2136) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -25105,9 +25157,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2112) + A :MSTORE(SP + 2120) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2120) + $ => A :MLOAD(SP + 2128) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25184,11 +25236,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2112) + $ => A :MLOAD(SP + 2120) $ => A :XOR - A :MSTORE(SP + 2112) + A :MSTORE(SP + 2120) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2120) + $ => A :MLOAD(SP + 2128) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25265,27 +25317,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2112) + $ => A :MLOAD(SP + 2120) $ => A :XOR - $ => B :MLOAD(SP + 2232) + $ => B :MLOAD(SP + 2240) A => D - $ => A :MLOAD(SP + 2176) + $ => A :MLOAD(SP + 2184) $ => C :XOR - $ => A :MLOAD(SP + 2120) + $ => A :MLOAD(SP + 2128) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2176) - $ => B :MLOAD(SP + 2232) + $ => A :MLOAD(SP + 2184) + $ => B :MLOAD(SP + 2240) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2112) + A :MSTORE(SP + 2120) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2952) + $ => A :MLOAD(SP + 2960) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25361,9 +25413,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2104) + A :MSTORE(SP + 2112) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2952) + $ => A :MLOAD(SP + 2960) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25440,11 +25492,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2104) + $ => A :MLOAD(SP + 2112) $ => A :XOR - A :MSTORE(SP + 2104) + A :MSTORE(SP + 2112) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2952) + $ => A :MLOAD(SP + 2960) E :MSTORE(SP) 0 => D A => E @@ -25482,15 +25534,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2104) + $ => A :MLOAD(SP + 2112) $ => A :XOR - $ => B :MLOAD(SP + 3016) + $ => B :MLOAD(SP + 3024) $ => A :ADD - $ => B :MLOAD(SP + 2488) + $ => B :MLOAD(SP + 2496) $ => A :ADD - A :MSTORE(SP + 2104) + A :MSTORE(SP + 2112) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25566,9 +25618,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2096) + A :MSTORE(SP + 2104) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25645,11 +25697,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) $ => A :XOR - A :MSTORE(SP + 2096) + A :MSTORE(SP + 2104) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) E :MSTORE(SP) 0 => D A => E @@ -25687,33 +25739,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2096) - $ => B :XOR $ => A :MLOAD(SP + 2104) + $ => B :XOR + $ => A :MLOAD(SP + 2112) $ => A :ADD - $ => B :MLOAD(SP + 2256) - A :MSTORE(SP + 2096) + $ => B :MLOAD(SP + 2264) + A :MSTORE(SP + 2104) $ => C :ADD C => E - $ => A :MLOAD(SP + 2128) - $ => B :MLOAD(SP + 2344) + $ => A :MLOAD(SP + 2136) + $ => B :MLOAD(SP + 2352) $ => A :ADD - A :MSTORE(SP + 2088) - $ => B :MLOAD(SP + 2200) - $ => A :MLOAD(SP + 2144) + A :MSTORE(SP + 2096) + $ => B :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2152) $ => C :XOR - $ => A :MLOAD(SP + 2088) + $ => A :MLOAD(SP + 2096) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2200) + $ => B :MLOAD(SP + 2208) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 2080) + A :MSTORE(SP + 2088) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2088) + $ => A :MLOAD(SP + 2096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25789,9 +25841,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2072) + A :MSTORE(SP + 2080) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2088) + $ => A :MLOAD(SP + 2096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25868,11 +25920,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2072) + $ => A :MLOAD(SP + 2080) $ => A :XOR - A :MSTORE(SP + 2072) + A :MSTORE(SP + 2080) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2088) + $ => A :MLOAD(SP + 2096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -25949,16 +26001,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2072) - $ => B :XOR $ => A :MLOAD(SP + 2080) + $ => B :XOR + $ => A :MLOAD(SP + 2088) $ => A :ADD 14330467152597876736n => B ;; LoadConst32(3336571891) $ => B :ADD - $ => A :MLOAD(SP + 2112) + $ => A :MLOAD(SP + 2120) $ => A :ADD - A :MSTORE(SP + 2064) - B :MSTORE(SP + 2072) + A :MSTORE(SP + 2072) + B :MSTORE(SP + 2080) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -26035,9 +26087,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2056) + A :MSTORE(SP + 2064) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2064) + $ => A :MLOAD(SP + 2072) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26114,11 +26166,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2056) + $ => A :MLOAD(SP + 2064) $ => A :XOR - A :MSTORE(SP + 2056) + A :MSTORE(SP + 2064) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2064) + $ => A :MLOAD(SP + 2072) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26195,27 +26247,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2056) + $ => A :MLOAD(SP + 2064) $ => A :XOR - $ => B :MLOAD(SP + 2176) + $ => B :MLOAD(SP + 2184) A => D - $ => A :MLOAD(SP + 2120) + $ => A :MLOAD(SP + 2128) $ => C :XOR - $ => A :MLOAD(SP + 2064) + $ => A :MLOAD(SP + 2072) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2120) - $ => B :MLOAD(SP + 2176) + $ => A :MLOAD(SP + 2128) + $ => B :MLOAD(SP + 2184) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 2056) + A :MSTORE(SP + 2064) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2896) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26291,9 +26343,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2048) + A :MSTORE(SP + 2056) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2896) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26370,11 +26422,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2048) + $ => A :MLOAD(SP + 2056) $ => A :XOR - A :MSTORE(SP + 2048) + A :MSTORE(SP + 2056) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2888) + $ => A :MLOAD(SP + 2896) E :MSTORE(SP) 0 => D A => E @@ -26412,15 +26464,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2048) + $ => A :MLOAD(SP + 2056) $ => A :XOR - $ => B :MLOAD(SP + 2952) + $ => B :MLOAD(SP + 2960) $ => A :ADD - $ => B :MLOAD(SP + 2432) + $ => B :MLOAD(SP + 2440) $ => A :ADD - A :MSTORE(SP + 2048) + A :MSTORE(SP + 2056) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2160) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26496,9 +26548,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2040) + A :MSTORE(SP + 2048) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2160) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26575,11 +26627,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 2048) $ => A :XOR - A :MSTORE(SP + 2040) + A :MSTORE(SP + 2048) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2160) E :MSTORE(SP) 0 => D A => E @@ -26617,33 +26669,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 2040) - $ => B :XOR $ => A :MLOAD(SP + 2048) + $ => B :XOR + $ => A :MLOAD(SP + 2056) $ => A :ADD - $ => B :MLOAD(SP + 2200) - A :MSTORE(SP + 2040) + $ => B :MLOAD(SP + 2208) + A :MSTORE(SP + 2048) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2072) - $ => B :MLOAD(SP + 2288) + C => D + $ => A :MLOAD(SP + 2080) + $ => B :MLOAD(SP + 2296) $ => A :ADD - A :MSTORE(SP + 2032) - $ => B :MLOAD(SP + 2144) - $ => A :MLOAD(SP + 2088) + A :MSTORE(SP + 2040) + $ => B :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2096) $ => C :XOR - $ => A :MLOAD(SP + 2032) + $ => A :MLOAD(SP + 2040) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2144) + $ => B :MLOAD(SP + 2152) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 2024) + A :MSTORE(SP + 2032) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 2032) + $ => A :MLOAD(SP + 2040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26719,9 +26771,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2016) + A :MSTORE(SP + 2024) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 2032) + $ => A :MLOAD(SP + 2040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26798,11 +26850,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2016) + $ => A :MLOAD(SP + 2024) $ => A :XOR - A :MSTORE(SP + 2016) + A :MSTORE(SP + 2024) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 2032) + $ => A :MLOAD(SP + 2040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -26879,16 +26931,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2016) - $ => B :XOR $ => A :MLOAD(SP + 2024) + $ => B :XOR + $ => A :MLOAD(SP + 2032) $ => A :ADD 15395433585318035456n => B ;; LoadConst32(3584528711) $ => B :ADD - $ => A :MLOAD(SP + 2056) + $ => A :MLOAD(SP + 2064) $ => A :ADD - A :MSTORE(SP + 2008) - B :MSTORE(SP + 2016) + A :MSTORE(SP + 2016) + B :MSTORE(SP + 2024) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -26965,9 +27017,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 2000) + A :MSTORE(SP + 2008) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 2008) + $ => A :MLOAD(SP + 2016) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27044,11 +27096,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2000) + $ => A :MLOAD(SP + 2008) $ => A :XOR - A :MSTORE(SP + 2000) + A :MSTORE(SP + 2008) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2008) + $ => A :MLOAD(SP + 2016) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27125,27 +27177,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 2000) + $ => A :MLOAD(SP + 2008) $ => A :XOR - $ => B :MLOAD(SP + 2120) + $ => B :MLOAD(SP + 2128) A => E - $ => A :MLOAD(SP + 2064) + $ => A :MLOAD(SP + 2072) $ => C :XOR - $ => A :MLOAD(SP + 2008) + $ => A :MLOAD(SP + 2016) C => B $ => C :AND C => D - $ => A :MLOAD(SP + 2064) - $ => B :MLOAD(SP + 2120) + $ => A :MLOAD(SP + 2072) + $ => B :MLOAD(SP + 2128) $ => C :AND D => A C => B $ => B :XOR E => A $ => A :ADD - A :MSTORE(SP + 2000) + A :MSTORE(SP + 2008) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2832) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27221,9 +27273,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1992) + A :MSTORE(SP + 2000) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2832) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27300,11 +27352,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1992) + $ => A :MLOAD(SP + 2000) $ => A :XOR - A :MSTORE(SP + 1992) + A :MSTORE(SP + 2000) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2824) + $ => A :MLOAD(SP + 2832) E :MSTORE(SP) 0 => D A => E @@ -27342,15 +27394,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1992) + $ => A :MLOAD(SP + 2000) $ => A :XOR - $ => B :MLOAD(SP + 2888) + $ => B :MLOAD(SP + 2896) $ => A :ADD - $ => B :MLOAD(SP + 2376) + $ => B :MLOAD(SP + 2384) $ => A :ADD - A :MSTORE(SP + 1992) + A :MSTORE(SP + 2000) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27426,9 +27478,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1984) + A :MSTORE(SP + 1992) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27505,11 +27557,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) $ => A :XOR - A :MSTORE(SP + 1984) + A :MSTORE(SP + 1992) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) E :MSTORE(SP) 0 => D A => E @@ -27547,33 +27599,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1984) - $ => B :XOR $ => A :MLOAD(SP + 1992) + $ => B :XOR + $ => A :MLOAD(SP + 2000) $ => A :ADD - $ => B :MLOAD(SP + 2144) - A :MSTORE(SP + 1984) + $ => B :MLOAD(SP + 2152) + A :MSTORE(SP + 1992) $ => C :ADD - C => E - $ => A :MLOAD(SP + 2016) - $ => B :MLOAD(SP + 2232) + C => D + $ => A :MLOAD(SP + 2024) + $ => B :MLOAD(SP + 2240) $ => A :ADD - A :MSTORE(SP + 1976) - $ => B :MLOAD(SP + 2088) - $ => A :MLOAD(SP + 2032) + A :MSTORE(SP + 1984) + $ => B :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2040) $ => C :XOR - $ => A :MLOAD(SP + 1976) + $ => A :MLOAD(SP + 1984) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2088) + $ => B :MLOAD(SP + 2096) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1968) + A :MSTORE(SP + 1976) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1976) + $ => A :MLOAD(SP + 1984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27649,9 +27701,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1960) + A :MSTORE(SP + 1968) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1976) + $ => A :MLOAD(SP + 1984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27728,11 +27780,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1960) + $ => A :MLOAD(SP + 1968) $ => A :XOR - A :MSTORE(SP + 1960) + A :MSTORE(SP + 1968) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1976) + $ => A :MLOAD(SP + 1984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27809,16 +27861,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1960) - $ => B :XOR $ => A :MLOAD(SP + 1968) + $ => B :XOR + $ => A :MLOAD(SP + 1976) $ => A :ADD 489312709066620928n => B ;; LoadConst32(113926993) $ => B :ADD - $ => A :MLOAD(SP + 2000) + $ => A :MLOAD(SP + 2008) $ => A :ADD - A :MSTORE(SP + 1952) - B :MSTORE(SP + 1960) + A :MSTORE(SP + 1960) + B :MSTORE(SP + 1968) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -27895,9 +27947,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1944) + A :MSTORE(SP + 1952) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1952) + $ => A :MLOAD(SP + 1960) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -27974,11 +28026,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1944) + $ => A :MLOAD(SP + 1952) $ => A :XOR - A :MSTORE(SP + 1944) + A :MSTORE(SP + 1952) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1952) + $ => A :MLOAD(SP + 1960) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28055,27 +28107,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1944) + $ => A :MLOAD(SP + 1952) $ => A :XOR - $ => B :MLOAD(SP + 2064) + $ => B :MLOAD(SP + 2072) A => D - $ => A :MLOAD(SP + 2008) + $ => A :MLOAD(SP + 2016) $ => C :XOR - $ => A :MLOAD(SP + 1952) + $ => A :MLOAD(SP + 1960) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 2008) - $ => B :MLOAD(SP + 2064) + $ => A :MLOAD(SP + 2016) + $ => B :MLOAD(SP + 2072) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1944) + A :MSTORE(SP + 1952) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2776) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28151,9 +28203,136 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1936) + A :MSTORE(SP + 1944) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2768) + $ => A :MLOAD(SP + 2776) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A => B + $ => A :MLOAD(SP + 1944) + $ => A :XOR + A :MSTORE(SP + 1944) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 2776) + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + A => B + $ => A :MLOAD(SP + 1944) + $ => A :XOR + $ => B :MLOAD(SP + 2832) + $ => A :ADD + $ => B :MLOAD(SP + 2328) + $ => A :ADD + A :MSTORE(SP + 1944) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 2048) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28229,136 +28408,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 1936) - $ => A :XOR A :MSTORE(SP + 1936) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2768) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 1936) - $ => A :XOR - $ => B :MLOAD(SP + 2824) - $ => A :ADD - $ => B :MLOAD(SP + 2320) - $ => A :ADD - A :MSTORE(SP + 1936) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 2040) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 1928) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 2048) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28435,11 +28487,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1928) + $ => A :MLOAD(SP + 1936) $ => A :XOR - A :MSTORE(SP + 1928) + A :MSTORE(SP + 1936) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 2048) E :MSTORE(SP) 0 => D A => E @@ -28477,33 +28529,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1928) - $ => B :XOR $ => A :MLOAD(SP + 1936) + $ => B :XOR + $ => A :MLOAD(SP + 1944) $ => A :ADD - $ => B :MLOAD(SP + 2088) - A :MSTORE(SP + 1928) + $ => B :MLOAD(SP + 2096) + A :MSTORE(SP + 1936) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1960) - $ => B :MLOAD(SP + 2176) + C => D + $ => A :MLOAD(SP + 1968) + $ => B :MLOAD(SP + 2184) $ => A :ADD - A :MSTORE(SP + 1920) - $ => B :MLOAD(SP + 2032) - $ => A :MLOAD(SP + 1976) + A :MSTORE(SP + 1928) + $ => B :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 1984) $ => C :XOR - $ => A :MLOAD(SP + 1920) + $ => A :MLOAD(SP + 1928) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 2032) + $ => B :MLOAD(SP + 2040) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1912) + A :MSTORE(SP + 1920) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1920) + $ => A :MLOAD(SP + 1928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28579,9 +28631,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1904) + A :MSTORE(SP + 1912) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1920) + $ => A :MLOAD(SP + 1928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28658,11 +28710,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1904) + $ => A :MLOAD(SP + 1912) $ => A :XOR - A :MSTORE(SP + 1904) + A :MSTORE(SP + 1912) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1920) + $ => A :MLOAD(SP + 1928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28739,16 +28791,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1904) - $ => B :XOR $ => A :MLOAD(SP + 1912) + $ => B :XOR + $ => A :MLOAD(SP + 1920) $ => A :ADD 1452737877162065920n => B ;; LoadConst32(338241895) $ => B :ADD - $ => A :MLOAD(SP + 1944) + $ => A :MLOAD(SP + 1952) $ => A :ADD - A :MSTORE(SP + 1896) - B :MSTORE(SP + 1904) + A :MSTORE(SP + 1904) + B :MSTORE(SP + 1912) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -28825,9 +28877,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1888) + A :MSTORE(SP + 1896) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1896) + $ => A :MLOAD(SP + 1904) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28904,11 +28956,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1888) + $ => A :MLOAD(SP + 1896) $ => A :XOR - A :MSTORE(SP + 1888) + A :MSTORE(SP + 1896) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1896) + $ => A :MLOAD(SP + 1904) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -28985,27 +29037,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1888) + $ => A :MLOAD(SP + 1896) $ => A :XOR - $ => B :MLOAD(SP + 2008) + $ => B :MLOAD(SP + 2016) A => D - $ => A :MLOAD(SP + 1952) + $ => A :MLOAD(SP + 1960) $ => C :XOR - $ => A :MLOAD(SP + 1896) + $ => A :MLOAD(SP + 1904) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 1952) - $ => B :MLOAD(SP + 2008) + $ => A :MLOAD(SP + 1960) + $ => B :MLOAD(SP + 2016) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1888) + A :MSTORE(SP + 1896) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29081,9 +29133,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1880) + A :MSTORE(SP + 1888) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29160,11 +29212,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1880) + $ => A :MLOAD(SP + 1888) $ => A :XOR - A :MSTORE(SP + 1880) + A :MSTORE(SP + 1888) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2712) + $ => A :MLOAD(SP + 2720) E :MSTORE(SP) 0 => D A => E @@ -29202,15 +29254,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1880) + $ => A :MLOAD(SP + 1888) $ => A :XOR - $ => B :MLOAD(SP + 2768) + $ => B :MLOAD(SP + 2776) $ => A :ADD - $ => B :MLOAD(SP + 2264) + $ => B :MLOAD(SP + 2272) $ => A :ADD - A :MSTORE(SP + 1880) + A :MSTORE(SP + 1888) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29286,9 +29338,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1872) + A :MSTORE(SP + 1880) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29365,11 +29417,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1872) + $ => A :MLOAD(SP + 1880) $ => A :XOR - A :MSTORE(SP + 1872) + A :MSTORE(SP + 1880) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) E :MSTORE(SP) 0 => D A => E @@ -29407,33 +29459,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1872) - $ => B :XOR $ => A :MLOAD(SP + 1880) + $ => B :XOR + $ => A :MLOAD(SP + 1888) $ => A :ADD - $ => B :MLOAD(SP + 2032) - A :MSTORE(SP + 1872) + $ => B :MLOAD(SP + 2040) + A :MSTORE(SP + 1880) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1904) - $ => B :MLOAD(SP + 2120) + C => D + $ => A :MLOAD(SP + 1912) + $ => B :MLOAD(SP + 2128) $ => A :ADD - A :MSTORE(SP + 1864) - $ => B :MLOAD(SP + 1976) - $ => A :MLOAD(SP + 1920) + A :MSTORE(SP + 1872) + $ => B :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1928) $ => C :XOR - $ => A :MLOAD(SP + 1864) + $ => A :MLOAD(SP + 1872) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1976) + $ => B :MLOAD(SP + 1984) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1856) + A :MSTORE(SP + 1864) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1864) + $ => A :MLOAD(SP + 1872) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29509,9 +29561,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1848) + A :MSTORE(SP + 1856) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1864) + $ => A :MLOAD(SP + 1872) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29588,11 +29640,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1848) + $ => A :MLOAD(SP + 1856) $ => A :XOR - A :MSTORE(SP + 1848) + A :MSTORE(SP + 1856) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1864) + $ => A :MLOAD(SP + 1872) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29669,16 +29721,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1848) - $ => B :XOR $ => A :MLOAD(SP + 1856) + $ => B :XOR + $ => A :MLOAD(SP + 1864) $ => A :ADD 2861767654564167680n => B ;; LoadConst32(666307205) $ => B :ADD - $ => A :MLOAD(SP + 1888) + $ => A :MLOAD(SP + 1896) $ => A :ADD - A :MSTORE(SP + 1840) - B :MSTORE(SP + 1848) + A :MSTORE(SP + 1848) + B :MSTORE(SP + 1856) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -29755,9 +29807,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1832) + A :MSTORE(SP + 1840) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1840) + $ => A :MLOAD(SP + 1848) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29834,11 +29886,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1832) + $ => A :MLOAD(SP + 1840) $ => A :XOR - A :MSTORE(SP + 1832) + A :MSTORE(SP + 1840) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1840) + $ => A :MLOAD(SP + 1848) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -29915,27 +29967,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1832) + $ => A :MLOAD(SP + 1840) $ => A :XOR - $ => B :MLOAD(SP + 1952) - A => E - $ => A :MLOAD(SP + 1896) + $ => B :MLOAD(SP + 1960) + A => D + $ => A :MLOAD(SP + 1904) $ => C :XOR - $ => A :MLOAD(SP + 1840) + $ => A :MLOAD(SP + 1848) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 1896) - $ => B :MLOAD(SP + 1952) + C => E + $ => A :MLOAD(SP + 1904) + $ => B :MLOAD(SP + 1960) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - A :MSTORE(SP + 1832) + A :MSTORE(SP + 1840) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30011,9 +30063,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1824) + A :MSTORE(SP + 1832) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30090,11 +30142,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1824) + $ => A :MLOAD(SP + 1832) $ => A :XOR - A :MSTORE(SP + 1824) + A :MSTORE(SP + 1832) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2656) + $ => A :MLOAD(SP + 2664) E :MSTORE(SP) 0 => D A => E @@ -30132,15 +30184,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1824) + $ => A :MLOAD(SP + 1832) $ => A :XOR - $ => B :MLOAD(SP + 2712) + $ => B :MLOAD(SP + 2720) $ => A :ADD - $ => B :MLOAD(SP + 2208) + $ => B :MLOAD(SP + 2216) $ => A :ADD - A :MSTORE(SP + 1824) + A :MSTORE(SP + 1832) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1928) + $ => A :MLOAD(SP + 1936) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30216,9 +30268,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1816) + A :MSTORE(SP + 1824) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1928) + $ => A :MLOAD(SP + 1936) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30295,11 +30347,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1816) + $ => A :MLOAD(SP + 1824) $ => A :XOR - A :MSTORE(SP + 1816) + A :MSTORE(SP + 1824) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1928) + $ => A :MLOAD(SP + 1936) E :MSTORE(SP) 0 => D A => E @@ -30337,33 +30389,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1816) - $ => B :XOR $ => A :MLOAD(SP + 1824) + $ => B :XOR + $ => A :MLOAD(SP + 1832) $ => A :ADD - $ => B :MLOAD(SP + 1976) - A :MSTORE(SP + 1816) + $ => B :MLOAD(SP + 1984) + A :MSTORE(SP + 1824) $ => C :ADD C => E - $ => A :MLOAD(SP + 1848) - $ => B :MLOAD(SP + 2064) + $ => A :MLOAD(SP + 1856) + $ => B :MLOAD(SP + 2072) $ => A :ADD - A :MSTORE(SP + 1808) - $ => B :MLOAD(SP + 1920) - $ => A :MLOAD(SP + 1864) + A :MSTORE(SP + 1816) + $ => B :MLOAD(SP + 1928) + $ => A :MLOAD(SP + 1872) $ => C :XOR - $ => A :MLOAD(SP + 1808) + $ => A :MLOAD(SP + 1816) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1920) + $ => B :MLOAD(SP + 1928) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 1800) + A :MSTORE(SP + 1808) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1808) + $ => A :MLOAD(SP + 1816) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30439,9 +30491,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1792) + A :MSTORE(SP + 1800) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1808) + $ => A :MLOAD(SP + 1816) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30518,11 +30570,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1792) + $ => A :MLOAD(SP + 1800) $ => A :XOR - A :MSTORE(SP + 1792) + A :MSTORE(SP + 1800) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1808) + $ => A :MLOAD(SP + 1816) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30599,16 +30651,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1792) - $ => B :XOR $ => A :MLOAD(SP + 1800) + $ => B :XOR + $ => A :MLOAD(SP + 1808) $ => A :ADD 3322285674517757952n => B ;; LoadConst32(773529912) $ => B :ADD - $ => A :MLOAD(SP + 1832) + $ => A :MLOAD(SP + 1840) $ => A :ADD - A :MSTORE(SP + 1784) - B :MSTORE(SP + 1792) + A :MSTORE(SP + 1792) + B :MSTORE(SP + 1800) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -30685,9 +30737,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1776) + A :MSTORE(SP + 1784) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1784) + $ => A :MLOAD(SP + 1792) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30764,11 +30816,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1776) + $ => A :MLOAD(SP + 1784) $ => A :XOR - A :MSTORE(SP + 1776) + A :MSTORE(SP + 1784) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1784) + $ => A :MLOAD(SP + 1792) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30845,27 +30897,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1776) + $ => A :MLOAD(SP + 1784) $ => A :XOR - $ => B :MLOAD(SP + 1896) + $ => B :MLOAD(SP + 1904) A => D - $ => A :MLOAD(SP + 1840) + $ => A :MLOAD(SP + 1848) $ => C :XOR - $ => A :MLOAD(SP + 1784) + $ => A :MLOAD(SP + 1792) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 1840) - $ => B :MLOAD(SP + 1896) + $ => A :MLOAD(SP + 1848) + $ => B :MLOAD(SP + 1904) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1776) + A :MSTORE(SP + 1784) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -30941,9 +30993,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1768) + A :MSTORE(SP + 1776) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31020,11 +31072,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1768) + $ => A :MLOAD(SP + 1776) $ => A :XOR - A :MSTORE(SP + 1768) + A :MSTORE(SP + 1776) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2600) + $ => A :MLOAD(SP + 2608) E :MSTORE(SP) 0 => D A => E @@ -31062,15 +31114,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1768) + $ => A :MLOAD(SP + 1776) $ => A :XOR - $ => B :MLOAD(SP + 2656) + $ => B :MLOAD(SP + 2664) $ => A :ADD - $ => B :MLOAD(SP + 2152) + $ => B :MLOAD(SP + 2160) $ => A :ADD - A :MSTORE(SP + 1768) + A :MSTORE(SP + 1776) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1872) + $ => A :MLOAD(SP + 1880) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31146,9 +31198,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1760) + A :MSTORE(SP + 1768) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1872) + $ => A :MLOAD(SP + 1880) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31225,11 +31277,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1760) + $ => A :MLOAD(SP + 1768) $ => A :XOR - A :MSTORE(SP + 1760) + A :MSTORE(SP + 1768) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1872) + $ => A :MLOAD(SP + 1880) E :MSTORE(SP) 0 => D A => E @@ -31267,33 +31319,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1760) - $ => B :XOR $ => A :MLOAD(SP + 1768) + $ => B :XOR + $ => A :MLOAD(SP + 1776) $ => A :ADD - $ => B :MLOAD(SP + 1920) - A :MSTORE(SP + 1760) + $ => B :MLOAD(SP + 1928) + A :MSTORE(SP + 1768) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1792) - $ => B :MLOAD(SP + 2008) + C => D + $ => A :MLOAD(SP + 1800) + $ => B :MLOAD(SP + 2016) $ => A :ADD - A :MSTORE(SP + 1752) - $ => B :MLOAD(SP + 1864) - $ => A :MLOAD(SP + 1808) + A :MSTORE(SP + 1760) + $ => B :MLOAD(SP + 1872) + $ => A :MLOAD(SP + 1816) $ => C :XOR - $ => A :MLOAD(SP + 1752) + $ => A :MLOAD(SP + 1760) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1864) + $ => B :MLOAD(SP + 1872) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1744) + A :MSTORE(SP + 1752) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1752) + $ => A :MLOAD(SP + 1760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31369,9 +31421,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1736) + A :MSTORE(SP + 1744) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1752) + $ => A :MLOAD(SP + 1760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31448,11 +31500,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1736) + $ => A :MLOAD(SP + 1744) $ => A :XOR - A :MSTORE(SP + 1736) + A :MSTORE(SP + 1744) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1752) + $ => A :MLOAD(SP + 1760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31529,16 +31581,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1736) - $ => B :XOR $ => A :MLOAD(SP + 1744) + $ => B :XOR + $ => A :MLOAD(SP + 1752) $ => A :ADD 5560940568994906112n => B ;; LoadConst32(1294757372) $ => B :ADD - $ => A :MLOAD(SP + 1776) + $ => A :MLOAD(SP + 1784) $ => A :ADD - A :MSTORE(SP + 1728) - B :MSTORE(SP + 1736) + A :MSTORE(SP + 1736) + B :MSTORE(SP + 1744) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -31615,9 +31667,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1720) + A :MSTORE(SP + 1728) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1728) + $ => A :MLOAD(SP + 1736) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31694,11 +31746,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1720) + $ => A :MLOAD(SP + 1728) $ => A :XOR - A :MSTORE(SP + 1720) + A :MSTORE(SP + 1728) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1728) + $ => A :MLOAD(SP + 1736) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31775,27 +31827,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1720) + $ => A :MLOAD(SP + 1728) $ => A :XOR - $ => B :MLOAD(SP + 1840) - A => D - $ => A :MLOAD(SP + 1784) + $ => B :MLOAD(SP + 1848) + A => E + $ => A :MLOAD(SP + 1792) $ => C :XOR - $ => A :MLOAD(SP + 1728) + $ => A :MLOAD(SP + 1736) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 1784) - $ => B :MLOAD(SP + 1840) + C => D + $ => A :MLOAD(SP + 1792) + $ => B :MLOAD(SP + 1848) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - A :MSTORE(SP + 1720) + A :MSTORE(SP + 1728) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31871,9 +31923,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1712) + A :MSTORE(SP + 1720) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -31950,11 +32002,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1712) + $ => A :MLOAD(SP + 1720) $ => A :XOR - A :MSTORE(SP + 1712) + A :MSTORE(SP + 1720) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2544) + $ => A :MLOAD(SP + 2552) E :MSTORE(SP) 0 => D A => E @@ -31992,15 +32044,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1712) + $ => A :MLOAD(SP + 1720) $ => A :XOR - $ => B :MLOAD(SP + 2600) + $ => B :MLOAD(SP + 2608) $ => A :ADD - $ => B :MLOAD(SP + 2096) + $ => B :MLOAD(SP + 2104) $ => A :ADD - A :MSTORE(SP + 1712) + A :MSTORE(SP + 1720) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1816) + $ => A :MLOAD(SP + 1824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32076,9 +32128,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1704) + A :MSTORE(SP + 1712) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1816) + $ => A :MLOAD(SP + 1824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32155,11 +32207,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1704) + $ => A :MLOAD(SP + 1712) $ => A :XOR - A :MSTORE(SP + 1704) + A :MSTORE(SP + 1712) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1816) + $ => A :MLOAD(SP + 1824) E :MSTORE(SP) 0 => D A => E @@ -32197,33 +32249,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1704) - $ => B :XOR $ => A :MLOAD(SP + 1712) + $ => B :XOR + $ => A :MLOAD(SP + 1720) $ => A :ADD - $ => B :MLOAD(SP + 1864) - A :MSTORE(SP + 1704) + $ => B :MLOAD(SP + 1872) + A :MSTORE(SP + 1712) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1736) - $ => B :MLOAD(SP + 1952) + C => D + $ => A :MLOAD(SP + 1744) + $ => B :MLOAD(SP + 1960) $ => A :ADD - A :MSTORE(SP + 1696) - $ => B :MLOAD(SP + 1808) - $ => A :MLOAD(SP + 1752) + A :MSTORE(SP + 1704) + $ => B :MLOAD(SP + 1816) + $ => A :MLOAD(SP + 1760) $ => C :XOR - $ => A :MLOAD(SP + 1696) + $ => A :MLOAD(SP + 1704) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1808) + $ => B :MLOAD(SP + 1816) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1688) + A :MSTORE(SP + 1696) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1696) + $ => A :MLOAD(SP + 1704) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32299,9 +32351,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1680) + A :MSTORE(SP + 1688) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1696) + $ => A :MLOAD(SP + 1704) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32378,11 +32430,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1680) + $ => A :MLOAD(SP + 1688) $ => A :XOR - A :MSTORE(SP + 1680) + A :MSTORE(SP + 1688) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1696) + $ => A :MLOAD(SP + 1704) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32459,16 +32511,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1680) - $ => B :XOR $ => A :MLOAD(SP + 1688) + $ => B :XOR + $ => A :MLOAD(SP + 1696) $ => A :ADD 5996557279099355136n => B ;; LoadConst32(1396182291) $ => B :ADD - $ => A :MLOAD(SP + 1720) + $ => A :MLOAD(SP + 1728) $ => A :ADD - A :MSTORE(SP + 1672) - B :MSTORE(SP + 1680) + A :MSTORE(SP + 1680) + B :MSTORE(SP + 1688) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -32545,9 +32597,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1664) + A :MSTORE(SP + 1672) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1672) + $ => A :MLOAD(SP + 1680) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32624,11 +32676,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1664) + $ => A :MLOAD(SP + 1672) $ => A :XOR - A :MSTORE(SP + 1664) + A :MSTORE(SP + 1672) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1672) + $ => A :MLOAD(SP + 1680) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32705,27 +32757,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1664) + $ => A :MLOAD(SP + 1672) $ => A :XOR - $ => B :MLOAD(SP + 1784) - A => E - $ => A :MLOAD(SP + 1728) + $ => B :MLOAD(SP + 1792) + A => D + $ => A :MLOAD(SP + 1736) $ => C :XOR - $ => A :MLOAD(SP + 1672) + $ => A :MLOAD(SP + 1680) C => B $ => C :AND - C => D - $ => A :MLOAD(SP + 1728) - $ => B :MLOAD(SP + 1784) + C => E + $ => A :MLOAD(SP + 1736) + $ => B :MLOAD(SP + 1792) $ => C :AND - D => A + E => A C => B $ => B :XOR - E => A + D => A $ => A :ADD - A :MSTORE(SP + 1664) + A :MSTORE(SP + 1672) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32801,9 +32853,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1656) + A :MSTORE(SP + 1664) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -32880,11 +32932,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1656) + $ => A :MLOAD(SP + 1664) $ => A :XOR - A :MSTORE(SP + 1656) + A :MSTORE(SP + 1664) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2488) + $ => A :MLOAD(SP + 2496) E :MSTORE(SP) 0 => D A => E @@ -32922,15 +32974,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1656) + $ => A :MLOAD(SP + 1664) $ => A :XOR - $ => B :MLOAD(SP + 2544) + $ => B :MLOAD(SP + 2552) $ => A :ADD - $ => B :MLOAD(SP + 2040) + $ => B :MLOAD(SP + 2048) $ => A :ADD - A :MSTORE(SP + 1656) + A :MSTORE(SP + 1664) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1760) + $ => A :MLOAD(SP + 1768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33006,9 +33058,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1648) + A :MSTORE(SP + 1656) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1760) + $ => A :MLOAD(SP + 1768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33085,11 +33137,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1648) + $ => A :MLOAD(SP + 1656) $ => A :XOR - A :MSTORE(SP + 1648) + A :MSTORE(SP + 1656) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1760) + $ => A :MLOAD(SP + 1768) E :MSTORE(SP) 0 => D A => E @@ -33127,33 +33179,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1648) - $ => B :XOR $ => A :MLOAD(SP + 1656) + $ => B :XOR + $ => A :MLOAD(SP + 1664) $ => A :ADD - $ => B :MLOAD(SP + 1808) - A :MSTORE(SP + 1648) + $ => B :MLOAD(SP + 1816) + A :MSTORE(SP + 1656) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1680) - $ => B :MLOAD(SP + 1896) + C => D + $ => A :MLOAD(SP + 1688) + $ => B :MLOAD(SP + 1904) $ => A :ADD - A :MSTORE(SP + 1640) - $ => B :MLOAD(SP + 1752) - $ => A :MLOAD(SP + 1696) + A :MSTORE(SP + 1648) + $ => B :MLOAD(SP + 1760) + $ => A :MLOAD(SP + 1704) $ => C :XOR - $ => A :MLOAD(SP + 1640) + $ => A :MLOAD(SP + 1648) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1752) + $ => B :MLOAD(SP + 1760) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1632) + A :MSTORE(SP + 1640) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1640) + $ => A :MLOAD(SP + 1648) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33229,9 +33281,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1624) + A :MSTORE(SP + 1632) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1640) + $ => A :MLOAD(SP + 1648) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33308,11 +33360,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1624) + $ => A :MLOAD(SP + 1632) $ => A :XOR - A :MSTORE(SP + 1624) + A :MSTORE(SP + 1632) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1640) + $ => A :MLOAD(SP + 1648) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33389,16 +33441,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1624) - $ => B :XOR $ => A :MLOAD(SP + 1632) + $ => B :XOR + $ => A :MLOAD(SP + 1640) $ => A :ADD 7280758552212275200n => B ;; LoadConst32(1695183700) $ => B :ADD - $ => A :MLOAD(SP + 1664) + $ => A :MLOAD(SP + 1672) $ => A :ADD - A :MSTORE(SP + 1616) - B :MSTORE(SP + 1624) + A :MSTORE(SP + 1624) + B :MSTORE(SP + 1632) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -33475,9 +33527,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1608) + A :MSTORE(SP + 1616) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1616) + $ => A :MLOAD(SP + 1624) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33554,11 +33606,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1608) + $ => A :MLOAD(SP + 1616) $ => A :XOR - A :MSTORE(SP + 1608) + A :MSTORE(SP + 1616) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1616) + $ => A :MLOAD(SP + 1624) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33635,27 +33687,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1608) + $ => A :MLOAD(SP + 1616) $ => A :XOR - $ => B :MLOAD(SP + 1728) + $ => B :MLOAD(SP + 1736) A => D - $ => A :MLOAD(SP + 1672) + $ => A :MLOAD(SP + 1680) $ => C :XOR - $ => A :MLOAD(SP + 1616) + $ => A :MLOAD(SP + 1624) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 1672) - $ => B :MLOAD(SP + 1728) + $ => A :MLOAD(SP + 1680) + $ => B :MLOAD(SP + 1736) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1608) + A :MSTORE(SP + 1616) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33731,9 +33783,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1600) + A :MSTORE(SP + 1608) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33810,11 +33862,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1600) + $ => A :MLOAD(SP + 1608) $ => A :XOR - A :MSTORE(SP + 1600) + A :MSTORE(SP + 1608) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2432) + $ => A :MLOAD(SP + 2440) E :MSTORE(SP) 0 => D A => E @@ -33852,15 +33904,93 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1600) + $ => A :MLOAD(SP + 1608) $ => A :XOR - $ => B :MLOAD(SP + 2488) + $ => B :MLOAD(SP + 2496) $ => A :ADD - $ => B :MLOAD(SP + 1984) + $ => B :MLOAD(SP + 1992) $ => A :ADD - A :MSTORE(SP + 1600) + A :MSTORE(SP + 1608) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1704) + $ => A :MLOAD(SP + 1712) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A :MSTORE(SP + 1600) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1712) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -33936,9 +34066,76 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR + A => B + $ => A :MLOAD(SP + 1600) + $ => A :XOR + A :MSTORE(SP + 1600) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1712) + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + A => B + $ => A :MLOAD(SP + 1600) + $ => B :XOR + $ => A :MLOAD(SP + 1608) + $ => A :ADD + $ => B :MLOAD(SP + 1760) + A :MSTORE(SP + 1600) + $ => C :ADD + C => D + $ => A :MLOAD(SP + 1632) + $ => B :MLOAD(SP + 1848) + $ => A :ADD A :MSTORE(SP + 1592) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1704) + $ => B :MLOAD(SP + 1704) + $ => A :MLOAD(SP + 1648) + $ => C :XOR + $ => A :MLOAD(SP + 1592) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1704) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 1584) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 1592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34014,12 +34211,44 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 1576) + 90194313216n => E ;; LoadConst32(21) $ => A :MLOAD(SP + 1592) - $ => A :XOR - A :MSTORE(SP + 1592) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1704) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP E :MSTORE(SP) 0 => D A => E @@ -34056,34 +34285,16 @@ label_3_3: 0 => D E :ARITH E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR A => B - $ => A :MLOAD(SP + 1592) - $ => B :XOR - $ => A :MLOAD(SP + 1600) - $ => A :ADD - $ => B :MLOAD(SP + 1752) - A :MSTORE(SP + 1592) - $ => C :ADD - C => E - $ => A :MLOAD(SP + 1624) - $ => B :MLOAD(SP + 1840) - $ => A :ADD - A :MSTORE(SP + 1584) - $ => B :MLOAD(SP + 1696) - $ => A :MLOAD(SP + 1640) - $ => C :XOR - $ => A :MLOAD(SP + 1584) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1696) - $ => C :XOR - E => A - C => B - $ => A :ADD + $ => A :MLOAD(SP + 1576) + $ => A :XOR A :MSTORE(SP + 1576) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1584) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 1592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34159,9 +34370,18 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1568) - 90194313216n => E ;; LoadConst32(21) + A => B + $ => A :MLOAD(SP + 1576) + $ => B :XOR $ => A :MLOAD(SP + 1584) + $ => A :ADD + 8532644242281988096n => B ;; LoadConst32(1986661051) + $ => B :ADD + $ => A :MLOAD(SP + 1616) + $ => A :ADD + A :MSTORE(SP + 1568) + B :MSTORE(SP + 1576) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34237,12 +34457,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 1560) + 81604378624n => E ;; LoadConst32(19) $ => A :MLOAD(SP + 1568) - $ => A :XOR - A :MSTORE(SP + 1568) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1584) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34319,17 +34536,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1568) - $ => B :XOR - $ => A :MLOAD(SP + 1576) - $ => A :ADD - 8532644242281988096n => B ;; LoadConst32(1986661051) - $ => B :ADD - $ => A :MLOAD(SP + 1608) - $ => A :ADD + $ => A :MLOAD(SP + 1560) + $ => A :XOR A :MSTORE(SP + 1560) - B :MSTORE(SP + 1568) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1568) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34405,9 +34616,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1552) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 1560) + $ => A :XOR + $ => B :MLOAD(SP + 1680) + A => D + $ => A :MLOAD(SP + 1624) + $ => C :XOR + $ => A :MLOAD(SP + 1568) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1624) + $ => B :MLOAD(SP + 1680) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 1560) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 2384) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34483,12 +34713,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 1552) - $ => A :XOR A :MSTORE(SP + 1552) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1560) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 2384) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34567,25 +34794,55 @@ label_3_3: A => B $ => A :MLOAD(SP + 1552) $ => A :XOR - $ => B :MLOAD(SP + 1672) - A => D - $ => A :MLOAD(SP + 1616) - $ => C :XOR - $ => A :MLOAD(SP + 1560) - C => B - $ => C :AND + A :MSTORE(SP + 1552) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 2384) + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) C => E - $ => A :MLOAD(SP + 1616) - $ => B :MLOAD(SP + 1672) - $ => C :AND +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH E => A - C => B - $ => B :XOR - D => A + A => B + $ => A :MLOAD(SP + 1552) + $ => A :XOR + $ => B :MLOAD(SP + 2440) + $ => A :ADD + $ => B :MLOAD(SP + 1936) $ => A :ADD A :MSTORE(SP + 1552) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2376) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 1656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34662,8 +34919,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 1544) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2376) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34743,8 +35000,8 @@ label_3_3: $ => A :MLOAD(SP + 1544) $ => A :XOR A :MSTORE(SP + 1544) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2376) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1656) E :MSTORE(SP) 0 => D A => E @@ -34783,14 +35040,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 1544) - $ => A :XOR - $ => B :MLOAD(SP + 2432) - $ => A :ADD - $ => B :MLOAD(SP + 1928) + $ => B :XOR + $ => A :MLOAD(SP + 1552) $ => A :ADD + $ => B :MLOAD(SP + 1704) A :MSTORE(SP + 1544) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1648) + $ => C :ADD + C => E + $ => A :MLOAD(SP + 1576) + $ => B :MLOAD(SP + 1792) + $ => A :ADD + A :MSTORE(SP + 1536) + $ => B :MLOAD(SP + 1648) + $ => A :MLOAD(SP + 1592) + $ => C :XOR + $ => A :MLOAD(SP + 1536) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1648) + $ => C :XOR + E => A + C => B + $ => A :ADD + A :MSTORE(SP + 1528) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 1536) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34866,9 +35141,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1536) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1648) + A :MSTORE(SP + 1520) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 1536) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -34945,11 +35220,46 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1520) $ => A :XOR - A :MSTORE(SP + 1536) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1648) + A :MSTORE(SP + 1520) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 1536) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP E :MSTORE(SP) 0 => D A => E @@ -34986,34 +35296,22 @@ label_3_3: 0 => D E :ARITH E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR A => B - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1520) $ => B :XOR - $ => A :MLOAD(SP + 1544) - $ => A :ADD - $ => B :MLOAD(SP + 1696) - A :MSTORE(SP + 1536) - $ => C :ADD - C => E - $ => A :MLOAD(SP + 1568) - $ => B :MLOAD(SP + 1784) - $ => A :ADD - A :MSTORE(SP + 1528) - $ => B :MLOAD(SP + 1640) - $ => A :MLOAD(SP + 1584) - $ => C :XOR $ => A :MLOAD(SP + 1528) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1640) - $ => C :XOR - E => A - C => B $ => A :ADD - A :MSTORE(SP + 1520) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1528) + 9350256975780249600n => B ;; LoadConst32(2177026350) + $ => B :ADD + $ => A :MLOAD(SP + 1560) + $ => A :ADD + A :MSTORE(SP + 1512) + B :MSTORE(SP + 1520) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35089,9 +35387,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1512) - 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1528) + A :MSTORE(SP + 1504) + 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 1512) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35168,11 +35466,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1512) + $ => A :MLOAD(SP + 1504) $ => A :XOR - A :MSTORE(SP + 1512) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1528) + A :MSTORE(SP + 1504) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1512) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35249,17 +35547,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B + $ => A :MLOAD(SP + 1504) + $ => A :XOR + $ => B :MLOAD(SP + 1624) + A => D + $ => A :MLOAD(SP + 1568) + $ => C :XOR $ => A :MLOAD(SP + 1512) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1568) + $ => B :MLOAD(SP + 1624) + $ => C :AND + E => A + C => B $ => B :XOR - $ => A :MLOAD(SP + 1520) - $ => A :ADD - 9350256975780249600n => B ;; LoadConst32(2177026350) - $ => B :ADD - $ => A :MLOAD(SP + 1552) + D => A $ => A :ADD A :MSTORE(SP + 1504) - B :MSTORE(SP + 1512) - 128849018880n => E ;; LoadConst32(30) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 2328) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35336,8 +35644,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 1496) - 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1504) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 2328) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35417,43 +35725,8 @@ label_3_3: $ => A :MLOAD(SP + 1496) $ => A :XOR A :MSTORE(SP + 1496) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1504) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 2328) E :MSTORE(SP) 0 => D A => E @@ -35490,32 +35763,16 @@ label_3_3: 0 => D E :ARITH E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR A => B $ => A :MLOAD(SP + 1496) $ => A :XOR - $ => B :MLOAD(SP + 1616) - A => E - $ => A :MLOAD(SP + 1560) - $ => C :XOR - $ => A :MLOAD(SP + 1504) - C => B - $ => C :AND - C => D - $ => A :MLOAD(SP + 1560) - $ => B :MLOAD(SP + 1616) - $ => C :AND - D => A - C => B - $ => B :XOR - E => A + $ => B :MLOAD(SP + 2384) + $ => A :ADD + $ => B :MLOAD(SP + 1880) $ => A :ADD A :MSTORE(SP + 1496) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2320) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 1600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35592,8 +35849,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 1488) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2320) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35673,8 +35930,8 @@ label_3_3: $ => A :MLOAD(SP + 1488) $ => A :XOR A :MSTORE(SP + 1488) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2320) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1600) E :MSTORE(SP) 0 => D A => E @@ -35713,14 +35970,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 1488) - $ => A :XOR - $ => B :MLOAD(SP + 2376) - $ => A :ADD - $ => B :MLOAD(SP + 1872) + $ => B :XOR + $ => A :MLOAD(SP + 1496) $ => A :ADD + $ => B :MLOAD(SP + 1648) A :MSTORE(SP + 1488) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1592) + $ => C :ADD + C => D + $ => A :MLOAD(SP + 1520) + $ => B :MLOAD(SP + 1736) + $ => A :ADD + A :MSTORE(SP + 1480) + $ => B :MLOAD(SP + 1592) + $ => A :MLOAD(SP + 1536) + $ => C :XOR + $ => A :MLOAD(SP + 1480) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1592) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 1472) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 1480) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35796,9 +36071,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1480) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1592) + A :MSTORE(SP + 1464) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 1480) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -35875,234 +36150,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1480) + $ => A :MLOAD(SP + 1464) $ => A :XOR - A :MSTORE(SP + 1480) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1592) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 1480) - $ => B :XOR - $ => A :MLOAD(SP + 1488) - $ => A :ADD - $ => B :MLOAD(SP + 1640) - A :MSTORE(SP + 1480) - $ => C :ADD - C => E - $ => A :MLOAD(SP + 1512) - $ => B :MLOAD(SP + 1728) - $ => A :ADD - A :MSTORE(SP + 1472) - $ => B :MLOAD(SP + 1584) - $ => A :MLOAD(SP + 1528) - $ => C :XOR - $ => A :MLOAD(SP + 1472) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1584) - $ => C :XOR - E => A - C => B - $ => A :ADD A :MSTORE(SP + 1464) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1472) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 1456) - 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1472) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A => B - $ => A :MLOAD(SP + 1456) - $ => A :XOR - A :MSTORE(SP + 1456) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1472) + $ => A :MLOAD(SP + 1480) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36179,16 +36231,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1456) - $ => B :XOR $ => A :MLOAD(SP + 1464) + $ => B :XOR + $ => A :MLOAD(SP + 1472) $ => A :ADD 10552545826624765952n => B ;; LoadConst32(2456956037) $ => B :ADD - $ => A :MLOAD(SP + 1496) + $ => A :MLOAD(SP + 1504) $ => A :ADD - A :MSTORE(SP + 1448) - B :MSTORE(SP + 1456) + A :MSTORE(SP + 1456) + B :MSTORE(SP + 1464) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -36265,9 +36317,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1440) + A :MSTORE(SP + 1448) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1448) + $ => A :MLOAD(SP + 1456) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36344,11 +36396,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1440) + $ => A :MLOAD(SP + 1448) $ => A :XOR - A :MSTORE(SP + 1440) + A :MSTORE(SP + 1448) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1448) + $ => A :MLOAD(SP + 1456) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36425,27 +36477,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1440) + $ => A :MLOAD(SP + 1448) $ => A :XOR - $ => B :MLOAD(SP + 1560) - A => D - $ => A :MLOAD(SP + 1504) + $ => B :MLOAD(SP + 1568) + A => E + $ => A :MLOAD(SP + 1512) $ => C :XOR - $ => A :MLOAD(SP + 1448) + $ => A :MLOAD(SP + 1456) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 1504) - $ => B :MLOAD(SP + 1560) + C => D + $ => A :MLOAD(SP + 1512) + $ => B :MLOAD(SP + 1568) $ => C :AND - E => A + D => A C => B $ => B :XOR - D => A + E => A $ => A :ADD - A :MSTORE(SP + 1440) + A :MSTORE(SP + 1448) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36521,9 +36573,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1432) + A :MSTORE(SP + 1440) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36600,11 +36652,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1432) + $ => A :MLOAD(SP + 1440) $ => A :XOR - A :MSTORE(SP + 1432) + A :MSTORE(SP + 1440) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2264) + $ => A :MLOAD(SP + 2272) E :MSTORE(SP) 0 => D A => E @@ -36642,15 +36694,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1432) + $ => A :MLOAD(SP + 1440) $ => A :XOR - $ => B :MLOAD(SP + 2320) + $ => B :MLOAD(SP + 2328) $ => A :ADD - $ => B :MLOAD(SP + 1816) + $ => B :MLOAD(SP + 1824) $ => A :ADD - A :MSTORE(SP + 1432) + A :MSTORE(SP + 1440) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36726,9 +36778,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1424) + A :MSTORE(SP + 1432) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36805,11 +36857,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1424) + $ => A :MLOAD(SP + 1432) $ => A :XOR - A :MSTORE(SP + 1424) + A :MSTORE(SP + 1432) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1544) E :MSTORE(SP) 0 => D A => E @@ -36847,33 +36899,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1424) - $ => B :XOR $ => A :MLOAD(SP + 1432) + $ => B :XOR + $ => A :MLOAD(SP + 1440) $ => A :ADD - $ => B :MLOAD(SP + 1584) - A :MSTORE(SP + 1424) + $ => B :MLOAD(SP + 1592) + A :MSTORE(SP + 1432) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1456) - $ => B :MLOAD(SP + 1672) + C => D + $ => A :MLOAD(SP + 1464) + $ => B :MLOAD(SP + 1680) $ => A :ADD - A :MSTORE(SP + 1416) - $ => B :MLOAD(SP + 1528) - $ => A :MLOAD(SP + 1472) + A :MSTORE(SP + 1424) + $ => B :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1480) $ => C :XOR - $ => A :MLOAD(SP + 1416) + $ => A :MLOAD(SP + 1424) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1528) + $ => B :MLOAD(SP + 1536) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1408) + A :MSTORE(SP + 1416) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1416) + $ => A :MLOAD(SP + 1424) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -36949,9 +37001,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1400) + A :MSTORE(SP + 1408) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1416) + $ => A :MLOAD(SP + 1424) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37028,11 +37080,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1400) + $ => A :MLOAD(SP + 1408) $ => A :XOR - A :MSTORE(SP + 1400) + A :MSTORE(SP + 1408) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1416) + $ => A :MLOAD(SP + 1424) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37109,16 +37161,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1400) - $ => B :XOR $ => A :MLOAD(SP + 1408) + $ => B :XOR + $ => A :MLOAD(SP + 1416) $ => A :ADD 11727347732883439616n => B ;; LoadConst32(2730485921) $ => B :ADD - $ => A :MLOAD(SP + 1440) + $ => A :MLOAD(SP + 1448) $ => A :ADD - A :MSTORE(SP + 1392) - B :MSTORE(SP + 1400) + A :MSTORE(SP + 1400) + B :MSTORE(SP + 1408) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -37195,9 +37247,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1384) + A :MSTORE(SP + 1392) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1392) + $ => A :MLOAD(SP + 1400) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37274,11 +37326,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1384) + $ => A :MLOAD(SP + 1392) $ => A :XOR - A :MSTORE(SP + 1384) + A :MSTORE(SP + 1392) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1392) + $ => A :MLOAD(SP + 1400) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37355,27 +37407,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1384) + $ => A :MLOAD(SP + 1392) $ => A :XOR - $ => B :MLOAD(SP + 1504) + $ => B :MLOAD(SP + 1512) A => D - $ => A :MLOAD(SP + 1448) + $ => A :MLOAD(SP + 1456) $ => C :XOR - $ => A :MLOAD(SP + 1392) + $ => A :MLOAD(SP + 1400) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 1448) - $ => B :MLOAD(SP + 1504) + $ => A :MLOAD(SP + 1456) + $ => B :MLOAD(SP + 1512) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1384) + A :MSTORE(SP + 1392) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37451,9 +37503,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1376) + A :MSTORE(SP + 1384) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37530,11 +37582,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1376) + $ => A :MLOAD(SP + 1384) $ => A :XOR - A :MSTORE(SP + 1376) + A :MSTORE(SP + 1384) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2208) + $ => A :MLOAD(SP + 2216) E :MSTORE(SP) 0 => D A => E @@ -37572,15 +37624,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1376) + $ => A :MLOAD(SP + 1384) $ => A :XOR - $ => B :MLOAD(SP + 2264) + $ => B :MLOAD(SP + 2272) $ => A :ADD - $ => B :MLOAD(SP + 1760) + $ => B :MLOAD(SP + 1768) $ => A :ADD - A :MSTORE(SP + 1376) + A :MSTORE(SP + 1384) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1480) + $ => A :MLOAD(SP + 1488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37656,9 +37708,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1368) + A :MSTORE(SP + 1376) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1480) + $ => A :MLOAD(SP + 1488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37735,11 +37787,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1368) + $ => A :MLOAD(SP + 1376) $ => A :XOR - A :MSTORE(SP + 1368) + A :MSTORE(SP + 1376) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1480) + $ => A :MLOAD(SP + 1488) E :MSTORE(SP) 0 => D A => E @@ -37777,33 +37829,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1368) - $ => B :XOR $ => A :MLOAD(SP + 1376) + $ => B :XOR + $ => A :MLOAD(SP + 1384) $ => A :ADD - $ => B :MLOAD(SP + 1528) - A :MSTORE(SP + 1368) + $ => B :MLOAD(SP + 1536) + A :MSTORE(SP + 1376) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1400) - $ => B :MLOAD(SP + 1616) + C => D + $ => A :MLOAD(SP + 1408) + $ => B :MLOAD(SP + 1624) $ => A :ADD - A :MSTORE(SP + 1360) - $ => B :MLOAD(SP + 1472) - $ => A :MLOAD(SP + 1416) + A :MSTORE(SP + 1368) + $ => B :MLOAD(SP + 1480) + $ => A :MLOAD(SP + 1424) $ => C :XOR - $ => A :MLOAD(SP + 1360) + $ => A :MLOAD(SP + 1368) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1472) + $ => B :MLOAD(SP + 1480) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1352) + A :MSTORE(SP + 1360) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1360) + $ => A :MLOAD(SP + 1368) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37879,9 +37931,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1344) + A :MSTORE(SP + 1352) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1360) + $ => A :MLOAD(SP + 1368) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -37958,11 +38010,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1344) + $ => A :MLOAD(SP + 1352) $ => A :XOR - A :MSTORE(SP + 1344) + A :MSTORE(SP + 1352) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1360) + $ => A :MLOAD(SP + 1368) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38039,16 +38091,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1344) - $ => B :XOR $ => A :MLOAD(SP + 1352) + $ => B :XOR + $ => A :MLOAD(SP + 1360) $ => A :ADD 12113106620074950656n => B ;; LoadConst32(2820302411) $ => B :ADD - $ => A :MLOAD(SP + 1384) + $ => A :MLOAD(SP + 1392) $ => A :ADD - A :MSTORE(SP + 1336) - B :MSTORE(SP + 1344) + A :MSTORE(SP + 1344) + B :MSTORE(SP + 1352) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -38125,9 +38177,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1328) + A :MSTORE(SP + 1336) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1336) + $ => A :MLOAD(SP + 1344) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38204,11 +38256,108 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1328) + $ => A :MLOAD(SP + 1336) $ => A :XOR - A :MSTORE(SP + 1328) + A :MSTORE(SP + 1336) 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1344) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A => B $ => A :MLOAD(SP + 1336) + $ => A :XOR + $ => B :MLOAD(SP + 1456) + A => D + $ => A :MLOAD(SP + 1400) + $ => C :XOR + $ => A :MLOAD(SP + 1344) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1400) + $ => B :MLOAD(SP + 1456) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 1336) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 2160) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38284,106 +38433,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 1328) - $ => A :XOR - $ => B :MLOAD(SP + 1448) - A => E - $ => A :MLOAD(SP + 1392) - $ => C :XOR - $ => A :MLOAD(SP + 1336) - C => B - $ => C :AND - C => D - $ => A :MLOAD(SP + 1392) - $ => B :MLOAD(SP + 1448) - $ => C :AND - D => A - C => B - $ => B :XOR - E => A - $ => A :ADD A :MSTORE(SP + 1328) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2152) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 1320) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2160) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38460,11 +38512,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1320) + $ => A :MLOAD(SP + 1328) $ => A :XOR - A :MSTORE(SP + 1320) + A :MSTORE(SP + 1328) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2152) + $ => A :MLOAD(SP + 2160) E :MSTORE(SP) 0 => D A => E @@ -38502,15 +38554,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1320) + $ => A :MLOAD(SP + 1328) $ => A :XOR - $ => B :MLOAD(SP + 2208) + $ => B :MLOAD(SP + 2216) $ => A :ADD - $ => B :MLOAD(SP + 1704) + $ => B :MLOAD(SP + 1712) $ => A :ADD - A :MSTORE(SP + 1320) + A :MSTORE(SP + 1328) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1424) + $ => A :MLOAD(SP + 1432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38586,9 +38638,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1312) + A :MSTORE(SP + 1320) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1424) + $ => A :MLOAD(SP + 1432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38665,11 +38717,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1312) + $ => A :MLOAD(SP + 1320) $ => A :XOR - A :MSTORE(SP + 1312) + A :MSTORE(SP + 1320) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1424) + $ => A :MLOAD(SP + 1432) E :MSTORE(SP) 0 => D A => E @@ -38707,33 +38759,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1312) - $ => B :XOR $ => A :MLOAD(SP + 1320) + $ => B :XOR + $ => A :MLOAD(SP + 1328) $ => A :ADD - $ => B :MLOAD(SP + 1472) - A :MSTORE(SP + 1312) + $ => B :MLOAD(SP + 1480) + A :MSTORE(SP + 1320) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1344) - $ => B :MLOAD(SP + 1560) + C => D + $ => A :MLOAD(SP + 1352) + $ => B :MLOAD(SP + 1568) $ => A :ADD - A :MSTORE(SP + 1304) - $ => B :MLOAD(SP + 1416) - $ => A :MLOAD(SP + 1360) + A :MSTORE(SP + 1312) + $ => B :MLOAD(SP + 1424) + $ => A :MLOAD(SP + 1368) $ => C :XOR - $ => A :MLOAD(SP + 1304) + $ => A :MLOAD(SP + 1312) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1416) + $ => B :MLOAD(SP + 1424) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1296) + A :MSTORE(SP + 1304) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1304) + $ => A :MLOAD(SP + 1312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38809,9 +38861,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1288) + A :MSTORE(SP + 1296) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1304) + $ => A :MLOAD(SP + 1312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38888,11 +38940,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1288) + $ => A :MLOAD(SP + 1296) $ => A :XOR - A :MSTORE(SP + 1288) + A :MSTORE(SP + 1296) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1304) + $ => A :MLOAD(SP + 1312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -38969,16 +39021,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1288) - $ => B :XOR $ => A :MLOAD(SP + 1296) + $ => B :XOR + $ => A :MLOAD(SP + 1304) $ => A :ADD 14000437179763916800n => B ;; LoadConst32(3259730800) $ => B :ADD - $ => A :MLOAD(SP + 1328) + $ => A :MLOAD(SP + 1336) $ => A :ADD - A :MSTORE(SP + 1280) - B :MSTORE(SP + 1288) + A :MSTORE(SP + 1288) + B :MSTORE(SP + 1296) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -39055,9 +39107,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1272) + A :MSTORE(SP + 1280) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1280) + $ => A :MLOAD(SP + 1288) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39134,11 +39186,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1272) + $ => A :MLOAD(SP + 1280) $ => A :XOR - A :MSTORE(SP + 1272) + A :MSTORE(SP + 1280) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1280) + $ => A :MLOAD(SP + 1288) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39215,27 +39267,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1272) + $ => A :MLOAD(SP + 1280) $ => A :XOR - $ => B :MLOAD(SP + 1392) + $ => B :MLOAD(SP + 1400) A => D - $ => A :MLOAD(SP + 1336) + $ => A :MLOAD(SP + 1344) $ => C :XOR - $ => A :MLOAD(SP + 1280) + $ => A :MLOAD(SP + 1288) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 1336) - $ => B :MLOAD(SP + 1392) + $ => A :MLOAD(SP + 1344) + $ => B :MLOAD(SP + 1400) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1272) + A :MSTORE(SP + 1280) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39311,9 +39363,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1264) + A :MSTORE(SP + 1272) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39390,11 +39442,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1264) + $ => A :MLOAD(SP + 1272) $ => A :XOR - A :MSTORE(SP + 1264) + A :MSTORE(SP + 1272) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2096) + $ => A :MLOAD(SP + 2104) E :MSTORE(SP) 0 => D A => E @@ -39432,15 +39484,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1264) + $ => A :MLOAD(SP + 1272) $ => A :XOR - $ => B :MLOAD(SP + 2152) + $ => B :MLOAD(SP + 2160) $ => A :ADD - $ => B :MLOAD(SP + 1648) + $ => B :MLOAD(SP + 1656) $ => A :ADD - A :MSTORE(SP + 1264) + A :MSTORE(SP + 1272) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1368) + $ => A :MLOAD(SP + 1376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39516,9 +39568,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1256) + A :MSTORE(SP + 1264) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1368) + $ => A :MLOAD(SP + 1376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39595,11 +39647,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) $ => A :XOR - A :MSTORE(SP + 1256) + A :MSTORE(SP + 1264) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1368) + $ => A :MLOAD(SP + 1376) E :MSTORE(SP) 0 => D A => E @@ -39637,33 +39689,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1256) - $ => B :XOR $ => A :MLOAD(SP + 1264) + $ => B :XOR + $ => A :MLOAD(SP + 1272) $ => A :ADD - $ => B :MLOAD(SP + 1416) - A :MSTORE(SP + 1256) + $ => B :MLOAD(SP + 1424) + A :MSTORE(SP + 1264) $ => C :ADD C => E - $ => A :MLOAD(SP + 1288) - $ => B :MLOAD(SP + 1504) + $ => A :MLOAD(SP + 1296) + $ => B :MLOAD(SP + 1512) $ => A :ADD - A :MSTORE(SP + 1248) - $ => B :MLOAD(SP + 1360) - $ => A :MLOAD(SP + 1304) + A :MSTORE(SP + 1256) + $ => B :MLOAD(SP + 1368) + $ => A :MLOAD(SP + 1312) $ => C :XOR - $ => A :MLOAD(SP + 1248) + $ => A :MLOAD(SP + 1256) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1360) + $ => B :MLOAD(SP + 1368) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 1240) + A :MSTORE(SP + 1248) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1248) + $ => A :MLOAD(SP + 1256) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39739,9 +39791,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1232) + A :MSTORE(SP + 1240) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1248) + $ => A :MLOAD(SP + 1256) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39818,11 +39870,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1232) + $ => A :MLOAD(SP + 1240) $ => A :XOR - A :MSTORE(SP + 1232) + A :MSTORE(SP + 1240) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1248) + $ => A :MLOAD(SP + 1256) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -39899,16 +39951,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1232) - $ => B :XOR $ => A :MLOAD(SP + 1240) + $ => B :XOR + $ => A :MLOAD(SP + 1248) $ => A :ADD 14369950271553929216n => B ;; LoadConst32(3345764771) $ => B :ADD - $ => A :MLOAD(SP + 1272) + $ => A :MLOAD(SP + 1280) $ => A :ADD - A :MSTORE(SP + 1224) - B :MSTORE(SP + 1232) + A :MSTORE(SP + 1232) + B :MSTORE(SP + 1240) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -39985,9 +40037,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1216) + A :MSTORE(SP + 1224) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1224) + $ => A :MLOAD(SP + 1232) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40064,11 +40116,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1216) + $ => A :MLOAD(SP + 1224) $ => A :XOR - A :MSTORE(SP + 1216) + A :MSTORE(SP + 1224) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1224) + $ => A :MLOAD(SP + 1232) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40145,27 +40197,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1216) + $ => A :MLOAD(SP + 1224) $ => A :XOR - $ => B :MLOAD(SP + 1336) + $ => B :MLOAD(SP + 1344) A => D - $ => A :MLOAD(SP + 1280) + $ => A :MLOAD(SP + 1288) $ => C :XOR - $ => A :MLOAD(SP + 1224) + $ => A :MLOAD(SP + 1232) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 1280) - $ => B :MLOAD(SP + 1336) + $ => A :MLOAD(SP + 1288) + $ => B :MLOAD(SP + 1344) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 1216) + A :MSTORE(SP + 1224) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 2048) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40241,9 +40293,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1208) + A :MSTORE(SP + 1216) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 2048) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40320,11 +40372,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1208) + $ => A :MLOAD(SP + 1216) $ => A :XOR - A :MSTORE(SP + 1208) + A :MSTORE(SP + 1216) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 2040) + $ => A :MLOAD(SP + 2048) E :MSTORE(SP) 0 => D A => E @@ -40362,15 +40414,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1208) + $ => A :MLOAD(SP + 1216) $ => A :XOR - $ => B :MLOAD(SP + 2096) + $ => B :MLOAD(SP + 2104) $ => A :ADD - $ => B :MLOAD(SP + 1592) + $ => B :MLOAD(SP + 1600) $ => A :ADD - A :MSTORE(SP + 1208) + A :MSTORE(SP + 1216) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1312) + $ => A :MLOAD(SP + 1320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40446,9 +40498,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1200) + A :MSTORE(SP + 1208) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1312) + $ => A :MLOAD(SP + 1320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40525,11 +40577,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1200) + $ => A :MLOAD(SP + 1208) $ => A :XOR - A :MSTORE(SP + 1200) + A :MSTORE(SP + 1208) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1312) + $ => A :MLOAD(SP + 1320) E :MSTORE(SP) 0 => D A => E @@ -40567,33 +40619,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1200) - $ => B :XOR $ => A :MLOAD(SP + 1208) + $ => B :XOR + $ => A :MLOAD(SP + 1216) $ => A :ADD - $ => B :MLOAD(SP + 1360) - A :MSTORE(SP + 1200) + $ => B :MLOAD(SP + 1368) + A :MSTORE(SP + 1208) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1232) - $ => B :MLOAD(SP + 1448) + C => D + $ => A :MLOAD(SP + 1240) + $ => B :MLOAD(SP + 1456) $ => A :ADD - A :MSTORE(SP + 1192) - $ => B :MLOAD(SP + 1304) - $ => A :MLOAD(SP + 1248) + A :MSTORE(SP + 1200) + $ => B :MLOAD(SP + 1312) + $ => A :MLOAD(SP + 1256) $ => C :XOR - $ => A :MLOAD(SP + 1192) + $ => A :MLOAD(SP + 1200) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1304) + $ => B :MLOAD(SP + 1312) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1184) + A :MSTORE(SP + 1192) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1192) + $ => A :MLOAD(SP + 1200) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40669,9 +40721,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1176) + A :MSTORE(SP + 1184) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1192) + $ => A :MLOAD(SP + 1200) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40748,11 +40800,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1176) + $ => A :MLOAD(SP + 1184) $ => A :XOR - A :MSTORE(SP + 1176) + A :MSTORE(SP + 1184) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1192) + $ => A :MLOAD(SP + 1200) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40829,16 +40881,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1176) - $ => B :XOR $ => A :MLOAD(SP + 1184) + $ => B :XOR + $ => A :MLOAD(SP + 1192) $ => A :ADD 15101387694598520832n => B ;; LoadConst32(3516065817) $ => B :ADD - $ => A :MLOAD(SP + 1216) + $ => A :MLOAD(SP + 1224) $ => A :ADD - A :MSTORE(SP + 1168) - B :MSTORE(SP + 1176) + A :MSTORE(SP + 1176) + B :MSTORE(SP + 1184) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -40915,9 +40967,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1160) + A :MSTORE(SP + 1168) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1168) + $ => A :MLOAD(SP + 1176) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -40994,11 +41046,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1160) + $ => A :MLOAD(SP + 1168) $ => A :XOR - A :MSTORE(SP + 1160) + A :MSTORE(SP + 1168) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1168) + $ => A :MLOAD(SP + 1176) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41075,27 +41127,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1160) + $ => A :MLOAD(SP + 1168) $ => A :XOR - $ => B :MLOAD(SP + 1280) + $ => B :MLOAD(SP + 1288) A => E - $ => A :MLOAD(SP + 1224) + $ => A :MLOAD(SP + 1232) $ => C :XOR - $ => A :MLOAD(SP + 1168) + $ => A :MLOAD(SP + 1176) C => B $ => C :AND C => D - $ => A :MLOAD(SP + 1224) - $ => B :MLOAD(SP + 1280) + $ => A :MLOAD(SP + 1232) + $ => B :MLOAD(SP + 1288) $ => C :AND D => A C => B $ => B :XOR E => A $ => A :ADD - A :MSTORE(SP + 1160) + A :MSTORE(SP + 1168) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41171,9 +41223,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1152) + A :MSTORE(SP + 1160) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41250,11 +41302,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1152) + $ => A :MLOAD(SP + 1160) $ => A :XOR - A :MSTORE(SP + 1152) + A :MSTORE(SP + 1160) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1984) + $ => A :MLOAD(SP + 1992) E :MSTORE(SP) 0 => D A => E @@ -41292,15 +41344,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1152) + $ => A :MLOAD(SP + 1160) $ => A :XOR - $ => B :MLOAD(SP + 2040) + $ => B :MLOAD(SP + 2048) $ => A :ADD - $ => B :MLOAD(SP + 1536) + $ => B :MLOAD(SP + 1544) $ => A :ADD - A :MSTORE(SP + 1152) + A :MSTORE(SP + 1160) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41376,9 +41428,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1144) + A :MSTORE(SP + 1152) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41455,11 +41507,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1144) + $ => A :MLOAD(SP + 1152) $ => A :XOR - A :MSTORE(SP + 1144) + A :MSTORE(SP + 1152) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) E :MSTORE(SP) 0 => D A => E @@ -41497,33 +41549,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 1144) - $ => B :XOR $ => A :MLOAD(SP + 1152) + $ => B :XOR + $ => A :MLOAD(SP + 1160) $ => A :ADD - $ => B :MLOAD(SP + 1304) - A :MSTORE(SP + 1144) + $ => B :MLOAD(SP + 1312) + A :MSTORE(SP + 1152) $ => C :ADD - C => E - $ => A :MLOAD(SP + 1176) - $ => B :MLOAD(SP + 1392) + C => D + $ => A :MLOAD(SP + 1184) + $ => B :MLOAD(SP + 1400) $ => A :ADD - A :MSTORE(SP + 1136) - $ => B :MLOAD(SP + 1248) - $ => A :MLOAD(SP + 1192) + A :MSTORE(SP + 1144) + $ => B :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1200) $ => C :XOR - $ => A :MLOAD(SP + 1136) + $ => A :MLOAD(SP + 1144) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 1248) + $ => B :MLOAD(SP + 1256) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 1128) + A :MSTORE(SP + 1136) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1136) + $ => A :MLOAD(SP + 1144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41599,9 +41651,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1120) + A :MSTORE(SP + 1128) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1136) + $ => A :MLOAD(SP + 1144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41678,11 +41730,98 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1120) + $ => A :MLOAD(SP + 1128) $ => A :XOR - A :MSTORE(SP + 1120) + A :MSTORE(SP + 1128) 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 1144) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A => B + $ => A :MLOAD(SP + 1128) + $ => B :XOR $ => A :MLOAD(SP + 1136) + $ => A :ADD + 15463397547241897984n => B ;; LoadConst32(3600352804) + $ => B :ADD + $ => A :MLOAD(SP + 1168) + $ => A :ADD + A :MSTORE(SP + 1120) + B :MSTORE(SP + 1128) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41758,18 +41897,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 1120) - $ => B :XOR - $ => A :MLOAD(SP + 1128) - $ => A :ADD - 15463397547241897984n => B ;; LoadConst32(3600352804) - $ => B :ADD - $ => A :MLOAD(SP + 1160) - $ => A :ADD A :MSTORE(SP + 1112) - B :MSTORE(SP + 1120) - 128849018880n => E ;; LoadConst32(30) + 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 1120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41845,9 +41975,12 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1104) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 1112) + $ => A :XOR + A :MSTORE(SP + 1112) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1120) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -41924,11 +42057,105 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1104) + $ => A :MLOAD(SP + 1112) $ => A :XOR + $ => B :MLOAD(SP + 1232) + A => D + $ => A :MLOAD(SP + 1176) + $ => C :XOR + $ => A :MLOAD(SP + 1120) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1176) + $ => B :MLOAD(SP + 1232) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 1112) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1936) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR A :MSTORE(SP + 1104) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1112) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1936) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42007,25 +42234,55 @@ label_3_3: A => B $ => A :MLOAD(SP + 1104) $ => A :XOR - $ => B :MLOAD(SP + 1224) - A => D - $ => A :MLOAD(SP + 1168) - $ => C :XOR - $ => A :MLOAD(SP + 1112) - C => B - $ => C :AND + A :MSTORE(SP + 1104) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1936) + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) C => E - $ => A :MLOAD(SP + 1168) - $ => B :MLOAD(SP + 1224) - $ => C :AND +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH E => A - C => B - $ => B :XOR - D => A + A => B + $ => A :MLOAD(SP + 1104) + $ => A :XOR + $ => B :MLOAD(SP + 1992) + $ => A :ADD + $ => B :MLOAD(SP + 1488) $ => A :ADD A :MSTORE(SP + 1104) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1928) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 1208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42102,8 +42359,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 1096) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1928) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42183,8 +42440,8 @@ label_3_3: $ => A :MLOAD(SP + 1096) $ => A :XOR A :MSTORE(SP + 1096) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1928) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1208) E :MSTORE(SP) 0 => D A => E @@ -42223,14 +42480,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 1096) - $ => A :XOR - $ => B :MLOAD(SP + 1984) - $ => A :ADD - $ => B :MLOAD(SP + 1480) + $ => B :XOR + $ => A :MLOAD(SP + 1104) $ => A :ADD + $ => B :MLOAD(SP + 1256) A :MSTORE(SP + 1096) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1200) + $ => C :ADD + C => D + $ => A :MLOAD(SP + 1128) + $ => B :MLOAD(SP + 1344) + $ => A :ADD + A :MSTORE(SP + 1088) + $ => B :MLOAD(SP + 1200) + $ => A :MLOAD(SP + 1144) + $ => C :XOR + $ => A :MLOAD(SP + 1088) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1200) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 1080) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 1088) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42306,9 +42581,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1088) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1200) + A :MSTORE(SP + 1072) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 1088) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42385,11 +42660,46 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1072) $ => A :XOR - A :MSTORE(SP + 1088) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1200) + A :MSTORE(SP + 1072) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 1088) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP E :MSTORE(SP) 0 => D A => E @@ -42426,34 +42736,22 @@ label_3_3: 0 => D E :ARITH E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR A => B - $ => A :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1072) $ => B :XOR - $ => A :MLOAD(SP + 1096) - $ => A :ADD - $ => B :MLOAD(SP + 1248) - A :MSTORE(SP + 1088) - $ => C :ADD - C => E - $ => A :MLOAD(SP + 1120) - $ => B :MLOAD(SP + 1336) - $ => A :ADD - A :MSTORE(SP + 1080) - $ => B :MLOAD(SP + 1192) - $ => A :MLOAD(SP + 1136) - $ => C :XOR $ => A :MLOAD(SP + 1080) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1192) - $ => C :XOR - E => A - C => B $ => A :ADD - A :MSTORE(SP + 1072) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1080) + 17586052440275288064n => B ;; LoadConst32(4094571909) + $ => B :ADD + $ => A :MLOAD(SP + 1112) + $ => A :ADD + A :MSTORE(SP + 1064) + B :MSTORE(SP + 1072) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42529,9 +42827,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1064) - 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 1080) + A :MSTORE(SP + 1056) + 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 1064) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42608,11 +42906,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1064) + $ => A :MLOAD(SP + 1056) $ => A :XOR - A :MSTORE(SP + 1064) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1080) + A :MSTORE(SP + 1056) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1064) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42689,17 +42987,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B + $ => A :MLOAD(SP + 1056) + $ => A :XOR + $ => B :MLOAD(SP + 1176) + A => D + $ => A :MLOAD(SP + 1120) + $ => C :XOR $ => A :MLOAD(SP + 1064) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1120) + $ => B :MLOAD(SP + 1176) + $ => C :AND + E => A + C => B $ => B :XOR - $ => A :MLOAD(SP + 1072) - $ => A :ADD - 17586052440275288064n => B ;; LoadConst32(4094571909) - $ => B :ADD - $ => A :MLOAD(SP + 1104) + D => A $ => A :ADD A :MSTORE(SP + 1056) - B :MSTORE(SP + 1064) - 128849018880n => E ;; LoadConst32(30) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1880) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42776,8 +43084,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 1048) - 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 1056) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1880) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -42857,43 +43165,8 @@ label_3_3: $ => A :MLOAD(SP + 1048) $ => A :XOR A :MSTORE(SP + 1048) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1056) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1880) E :MSTORE(SP) 0 => D A => E @@ -42930,32 +43203,16 @@ label_3_3: 0 => D E :ARITH E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR A => B $ => A :MLOAD(SP + 1048) $ => A :XOR - $ => B :MLOAD(SP + 1168) - A => D - $ => A :MLOAD(SP + 1112) - $ => C :XOR - $ => A :MLOAD(SP + 1056) - C => B - $ => C :AND - C => E - $ => A :MLOAD(SP + 1112) - $ => B :MLOAD(SP + 1168) - $ => C :AND - E => A - C => B - $ => B :XOR - D => A + $ => B :MLOAD(SP + 1936) + $ => A :ADD + $ => B :MLOAD(SP + 1432) $ => A :ADD A :MSTORE(SP + 1048) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1872) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 1152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43032,8 +43289,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 1040) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1872) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43113,8 +43370,8 @@ label_3_3: $ => A :MLOAD(SP + 1040) $ => A :XOR A :MSTORE(SP + 1040) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1872) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1152) E :MSTORE(SP) 0 => D A => E @@ -43153,14 +43410,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 1040) - $ => A :XOR - $ => B :MLOAD(SP + 1928) - $ => A :ADD - $ => B :MLOAD(SP + 1424) + $ => B :XOR + $ => A :MLOAD(SP + 1048) $ => A :ADD + $ => B :MLOAD(SP + 1200) A :MSTORE(SP + 1040) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1144) + $ => C :ADD + C => D + $ => A :MLOAD(SP + 1072) + $ => B :MLOAD(SP + 1288) + $ => A :ADD + A :MSTORE(SP + 1032) + $ => B :MLOAD(SP + 1144) + $ => A :MLOAD(SP + 1088) + $ => C :XOR + $ => A :MLOAD(SP + 1032) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1144) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 1024) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 1032) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43236,9 +43511,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1032) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1144) + A :MSTORE(SP + 1016) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 1032) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43315,75 +43590,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1032) + $ => A :MLOAD(SP + 1016) $ => A :XOR - A :MSTORE(SP + 1032) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1144) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 1032) - $ => B :XOR - $ => A :MLOAD(SP + 1040) - $ => A :ADD - $ => B :MLOAD(SP + 1192) - A :MSTORE(SP + 1032) - $ => C :ADD - C => E - $ => A :MLOAD(SP + 1064) - $ => B :MLOAD(SP + 1280) - $ => A :ADD - A :MSTORE(SP + 1024) - $ => B :MLOAD(SP + 1136) - $ => A :MLOAD(SP + 1080) - $ => C :XOR - $ => A :MLOAD(SP + 1024) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1136) - $ => C :XOR - E => A - C => B - $ => A :ADD A :MSTORE(SP + 1016) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 1024) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 1032) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43459,9 +43670,18 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 1008) - 90194313216n => E ;; LoadConst32(21) + A => B + $ => A :MLOAD(SP + 1016) + $ => B :XOR $ => A :MLOAD(SP + 1024) + $ => A :ADD + 1182934255034957824n => B ;; LoadConst32(275423344) + $ => B :ADD + $ => A :MLOAD(SP + 1056) + $ => A :ADD + A :MSTORE(SP + 1008) + B :MSTORE(SP + 1016) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43537,12 +43757,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 1000) + 81604378624n => E ;; LoadConst32(19) $ => A :MLOAD(SP + 1008) - $ => A :XOR - A :MSTORE(SP + 1008) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 1024) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43619,17 +43836,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 1008) - $ => B :XOR - $ => A :MLOAD(SP + 1016) - $ => A :ADD - 1182934255034957824n => B ;; LoadConst32(275423344) - $ => B :ADD - $ => A :MLOAD(SP + 1048) - $ => A :ADD + $ => A :MLOAD(SP + 1000) + $ => A :XOR A :MSTORE(SP + 1000) - B :MSTORE(SP + 1008) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1008) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43705,9 +43916,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 992) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 1000) + $ => A :XOR + $ => B :MLOAD(SP + 1120) + A => D + $ => A :MLOAD(SP + 1064) + $ => C :XOR + $ => A :MLOAD(SP + 1008) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1064) + $ => B :MLOAD(SP + 1120) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 1000) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43783,12 +44013,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 992) - $ => A :XOR A :MSTORE(SP + 992) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1000) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1824) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43867,25 +44094,55 @@ label_3_3: A => B $ => A :MLOAD(SP + 992) $ => A :XOR - $ => B :MLOAD(SP + 1112) + A :MSTORE(SP + 992) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1824) + E :MSTORE(SP) + 0 => D A => E - $ => A :MLOAD(SP + 1056) - $ => C :XOR - $ => A :MLOAD(SP + 1000) - C => B - $ => C :AND - C => D - $ => A :MLOAD(SP + 1056) - $ => B :MLOAD(SP + 1112) - $ => C :AND - D => A - C => B - $ => B :XOR + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH E => A + A => B + $ => A :MLOAD(SP + 992) + $ => A :XOR + $ => B :MLOAD(SP + 1880) + $ => A :ADD + $ => B :MLOAD(SP + 1376) $ => A :ADD A :MSTORE(SP + 992) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1816) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 1096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -43962,8 +44219,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 984) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1816) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44043,8 +44300,8 @@ label_3_3: $ => A :MLOAD(SP + 984) $ => A :XOR A :MSTORE(SP + 984) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1816) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1096) E :MSTORE(SP) 0 => D A => E @@ -44083,14 +44340,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 984) - $ => A :XOR - $ => B :MLOAD(SP + 1872) - $ => A :ADD - $ => B :MLOAD(SP + 1368) + $ => B :XOR + $ => A :MLOAD(SP + 992) $ => A :ADD + $ => B :MLOAD(SP + 1144) A :MSTORE(SP + 984) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1088) + $ => C :ADD + C => E + $ => A :MLOAD(SP + 1016) + $ => B :MLOAD(SP + 1232) + $ => A :ADD + A :MSTORE(SP + 976) + $ => B :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1032) + $ => C :XOR + $ => A :MLOAD(SP + 976) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1088) + $ => C :XOR + E => A + C => B + $ => A :ADD + A :MSTORE(SP + 968) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 976) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44166,9 +44441,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 976) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1088) + A :MSTORE(SP + 960) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 976) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44245,75 +44520,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 976) + $ => A :MLOAD(SP + 960) $ => A :XOR - A :MSTORE(SP + 976) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1088) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 976) - $ => B :XOR - $ => A :MLOAD(SP + 984) - $ => A :ADD - $ => B :MLOAD(SP + 1136) - A :MSTORE(SP + 976) - $ => C :ADD - C => E - $ => A :MLOAD(SP + 1008) - $ => B :MLOAD(SP + 1224) - $ => A :ADD - A :MSTORE(SP + 968) - $ => B :MLOAD(SP + 1080) - $ => A :MLOAD(SP + 1024) - $ => C :XOR - $ => A :MLOAD(SP + 968) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1080) - $ => C :XOR - E => A - C => B - $ => A :ADD A :MSTORE(SP + 960) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 968) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 976) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44389,9 +44600,18 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 952) - 90194313216n => E ;; LoadConst32(21) + A => B + $ => A :MLOAD(SP + 960) + $ => B :XOR $ => A :MLOAD(SP + 968) + $ => A :ADD + 1847814047362187264n => B ;; LoadConst32(430227734) + $ => B :ADD + $ => A :MLOAD(SP + 1000) + $ => A :ADD + A :MSTORE(SP + 952) + B :MSTORE(SP + 960) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44467,12 +44687,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 944) + 81604378624n => E ;; LoadConst32(19) $ => A :MLOAD(SP + 952) - $ => A :XOR - A :MSTORE(SP + 952) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 968) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44549,17 +44766,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 952) - $ => B :XOR - $ => A :MLOAD(SP + 960) - $ => A :ADD - 1847814047362187264n => B ;; LoadConst32(430227734) - $ => B :ADD - $ => A :MLOAD(SP + 992) - $ => A :ADD + $ => A :MLOAD(SP + 944) + $ => A :XOR A :MSTORE(SP + 944) - B :MSTORE(SP + 952) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 952) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44635,9 +44846,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 936) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 944) + $ => A :XOR + $ => B :MLOAD(SP + 1064) + A => D + $ => A :MLOAD(SP + 1008) + $ => C :XOR + $ => A :MLOAD(SP + 952) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 1008) + $ => B :MLOAD(SP + 1064) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 944) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44713,12 +44943,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 936) - $ => A :XOR A :MSTORE(SP + 936) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 944) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1768) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44797,25 +45024,55 @@ label_3_3: A => B $ => A :MLOAD(SP + 936) $ => A :XOR - $ => B :MLOAD(SP + 1056) - A => D - $ => A :MLOAD(SP + 1000) - $ => C :XOR - $ => A :MLOAD(SP + 944) - C => B - $ => C :AND + A :MSTORE(SP + 936) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1768) + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) C => E - $ => A :MLOAD(SP + 1000) - $ => B :MLOAD(SP + 1056) - $ => C :AND +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH E => A - C => B - $ => B :XOR - D => A + A => B + $ => A :MLOAD(SP + 936) + $ => A :XOR + $ => B :MLOAD(SP + 1824) + $ => A :ADD + $ => B :MLOAD(SP + 1320) $ => A :ADD A :MSTORE(SP + 936) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1760) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 1040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44892,8 +45149,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 928) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1760) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 1040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -44973,8 +45230,8 @@ label_3_3: $ => A :MLOAD(SP + 928) $ => A :XOR A :MSTORE(SP + 928) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1760) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 1040) E :MSTORE(SP) 0 => D A => E @@ -45013,14 +45270,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 928) - $ => A :XOR - $ => B :MLOAD(SP + 1816) - $ => A :ADD - $ => B :MLOAD(SP + 1312) + $ => B :XOR + $ => A :MLOAD(SP + 936) $ => A :ADD + $ => B :MLOAD(SP + 1088) + $ => C :ADD A :MSTORE(SP + 928) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 1032) + $ => B :MLOAD(SP + 1176) + $ => A :MLOAD(SP + 960) + C => D + $ => A :ADD + A :MSTORE(SP + 920) + $ => B :MLOAD(SP + 1032) + $ => A :MLOAD(SP + 976) + $ => C :XOR + $ => A :MLOAD(SP + 920) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 1032) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 912) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 920) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45096,9 +45371,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 920) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 1032) + A :MSTORE(SP + 904) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 920) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45175,11 +45450,46 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 920) + $ => A :MLOAD(SP + 904) $ => A :XOR - A :MSTORE(SP + 920) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 1032) + A :MSTORE(SP + 904) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 920) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP E :MSTORE(SP) 0 => D A => E @@ -45216,34 +45526,22 @@ label_3_3: 0 => D E :ARITH E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR A => B - $ => A :MLOAD(SP + 920) + $ => A :MLOAD(SP + 904) $ => B :XOR - $ => A :MLOAD(SP + 928) - $ => A :ADD - $ => B :MLOAD(SP + 1080) - $ => C :ADD - A :MSTORE(SP + 920) - $ => B :MLOAD(SP + 1168) - $ => A :MLOAD(SP + 952) - C => E - $ => A :ADD - A :MSTORE(SP + 912) - $ => B :MLOAD(SP + 1024) - $ => A :MLOAD(SP + 968) - $ => C :XOR $ => A :MLOAD(SP + 912) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 1024) - $ => C :XOR - E => A - C => B $ => A :ADD - A :MSTORE(SP + 904) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 912) + 2177327726472462336n => B ;; LoadConst32(506948616) + $ => B :ADD + $ => A :MLOAD(SP + 944) + $ => A :ADD + A :MSTORE(SP + 896) + B :MSTORE(SP + 904) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45319,9 +45617,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 896) - 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 912) + A :MSTORE(SP + 888) + 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 896) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45398,11 +45696,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 896) + $ => A :MLOAD(SP + 888) $ => A :XOR - A :MSTORE(SP + 896) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 912) + A :MSTORE(SP + 888) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 896) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45479,17 +45777,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B + $ => A :MLOAD(SP + 888) + $ => A :XOR + $ => B :MLOAD(SP + 1008) + A => E + $ => A :MLOAD(SP + 952) + $ => C :XOR $ => A :MLOAD(SP + 896) + C => B + $ => C :AND + C => D + $ => A :MLOAD(SP + 952) + $ => B :MLOAD(SP + 1008) + $ => C :AND + D => A + C => B $ => B :XOR - $ => A :MLOAD(SP + 904) - $ => A :ADD - 2177327726472462336n => B ;; LoadConst32(506948616) - $ => B :ADD - $ => A :MLOAD(SP + 936) + E => A $ => A :ADD A :MSTORE(SP + 888) - B :MSTORE(SP + 896) - 128849018880n => E ;; LoadConst32(30) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1712) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45566,8 +45874,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 880) - 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 888) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1712) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45647,43 +45955,8 @@ label_3_3: $ => A :MLOAD(SP + 880) $ => A :XOR A :MSTORE(SP + 880) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 888) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1712) E :MSTORE(SP) 0 => D A => E @@ -45720,32 +45993,16 @@ label_3_3: 0 => D E :ARITH E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR A => B $ => A :MLOAD(SP + 880) $ => A :XOR - $ => B :MLOAD(SP + 1000) - A => D - $ => A :MLOAD(SP + 944) - $ => C :XOR - $ => A :MLOAD(SP + 888) - C => B - $ => C :AND - C => E - $ => A :MLOAD(SP + 944) - $ => B :MLOAD(SP + 1000) - $ => C :AND - E => A - C => B - $ => B :XOR - D => A + $ => B :MLOAD(SP + 1768) + $ => A :ADD + $ => B :MLOAD(SP + 1264) $ => A :ADD A :MSTORE(SP + 880) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1704) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45822,8 +46079,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 872) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1704) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -45903,8 +46160,8 @@ label_3_3: $ => A :MLOAD(SP + 872) $ => A :XOR A :MSTORE(SP + 872) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1704) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 984) E :MSTORE(SP) 0 => D A => E @@ -45943,14 +46200,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 872) - $ => A :XOR - $ => B :MLOAD(SP + 1760) - $ => A :ADD - $ => B :MLOAD(SP + 1256) + $ => B :XOR + $ => A :MLOAD(SP + 880) $ => A :ADD + $ => B :MLOAD(SP + 1032) + $ => C :ADD A :MSTORE(SP + 872) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 976) + $ => B :MLOAD(SP + 1120) + $ => A :MLOAD(SP + 904) + C => D + $ => A :ADD + A :MSTORE(SP + 864) + $ => B :MLOAD(SP + 976) + $ => A :MLOAD(SP + 920) + $ => C :XOR + $ => A :MLOAD(SP + 864) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 976) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 856) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 864) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46026,9 +46301,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 864) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 976) + A :MSTORE(SP + 848) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 864) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46105,75 +46380,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 864) + $ => A :MLOAD(SP + 848) $ => A :XOR - A :MSTORE(SP + 864) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 976) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 864) - $ => B :XOR - $ => A :MLOAD(SP + 872) - $ => A :ADD - $ => B :MLOAD(SP + 1024) - $ => C :ADD - A :MSTORE(SP + 864) - $ => B :MLOAD(SP + 1112) - $ => A :MLOAD(SP + 896) - C => E - $ => A :ADD - A :MSTORE(SP + 856) - $ => B :MLOAD(SP + 968) - $ => A :MLOAD(SP + 912) - $ => C :XOR - $ => A :MLOAD(SP + 856) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 968) - $ => C :XOR - E => A - C => B - $ => A :ADD A :MSTORE(SP + 848) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 856) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 864) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46249,9 +46460,18 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 840) - 90194313216n => E ;; LoadConst32(21) + A => B + $ => A :MLOAD(SP + 848) + $ => B :XOR $ => A :MLOAD(SP + 856) + $ => A :ADD + 2830643534103576576n => B ;; LoadConst32(659060556) + $ => B :ADD + $ => A :MLOAD(SP + 888) + $ => A :ADD + A :MSTORE(SP + 840) + B :MSTORE(SP + 848) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46327,12 +46547,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 832) + 81604378624n => E ;; LoadConst32(19) $ => A :MLOAD(SP + 840) - $ => A :XOR - A :MSTORE(SP + 840) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 856) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46409,17 +46626,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 840) - $ => B :XOR - $ => A :MLOAD(SP + 848) - $ => A :ADD - 2830643534103576576n => B ;; LoadConst32(659060556) - $ => B :ADD - $ => A :MLOAD(SP + 880) - $ => A :ADD + $ => A :MLOAD(SP + 832) + $ => A :XOR A :MSTORE(SP + 832) - B :MSTORE(SP + 840) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 840) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46495,9 +46706,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 824) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 832) + $ => A :XOR + $ => B :MLOAD(SP + 952) + A => D + $ => A :MLOAD(SP + 896) + $ => C :XOR + $ => A :MLOAD(SP + 840) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 896) + $ => B :MLOAD(SP + 952) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 832) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46573,12 +46803,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 824) - $ => A :XOR A :MSTORE(SP + 824) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 832) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1656) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46657,60 +46884,9 @@ label_3_3: A => B $ => A :MLOAD(SP + 824) $ => A :XOR - $ => B :MLOAD(SP + 944) - A => E - $ => A :MLOAD(SP + 888) - $ => C :XOR - $ => A :MLOAD(SP + 832) - C => B - $ => C :AND - C => D - $ => A :MLOAD(SP + 888) - $ => B :MLOAD(SP + 944) - $ => C :AND - D => A - C => B - $ => B :XOR - E => A - $ => A :ADD A :MSTORE(SP + 824) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1648) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1656) E :MSTORE(SP) 0 => D A => E @@ -46747,13 +46923,16 @@ label_3_3: 0 => D E :ARITH E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 816) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1648) + A => B + $ => A :MLOAD(SP + 824) + $ => A :XOR + $ => B :MLOAD(SP + 1712) + $ => A :ADD + $ => B :MLOAD(SP + 1208) + $ => A :ADD + A :MSTORE(SP + 824) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -46829,136 +47008,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 816) - $ => A :XOR A :MSTORE(SP + 816) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1648) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 816) - $ => A :XOR - $ => B :MLOAD(SP + 1704) - $ => A :ADD - $ => B :MLOAD(SP + 1200) - $ => A :ADD - A :MSTORE(SP + 816) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 920) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 808) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 920) + $ => A :MLOAD(SP + 928) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47035,11 +47087,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 808) + $ => A :MLOAD(SP + 816) $ => A :XOR - A :MSTORE(SP + 808) + A :MSTORE(SP + 816) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 920) + $ => A :MLOAD(SP + 928) E :MSTORE(SP) 0 => D A => E @@ -47077,33 +47129,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 808) - $ => B :XOR $ => A :MLOAD(SP + 816) + $ => B :XOR + $ => A :MLOAD(SP + 824) $ => A :ADD - $ => B :MLOAD(SP + 968) + $ => B :MLOAD(SP + 976) $ => C :ADD - A :MSTORE(SP + 808) - $ => B :MLOAD(SP + 1056) - $ => A :MLOAD(SP + 840) - C => E + A :MSTORE(SP + 816) + $ => B :MLOAD(SP + 1064) + $ => A :MLOAD(SP + 848) + C => D $ => A :ADD - A :MSTORE(SP + 800) - $ => B :MLOAD(SP + 912) - $ => A :MLOAD(SP + 856) + A :MSTORE(SP + 808) + $ => B :MLOAD(SP + 920) + $ => A :MLOAD(SP + 864) $ => C :XOR - $ => A :MLOAD(SP + 800) + $ => A :MLOAD(SP + 808) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 912) + $ => B :MLOAD(SP + 920) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 792) + A :MSTORE(SP + 800) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 800) + $ => A :MLOAD(SP + 808) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47179,9 +47231,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 784) + A :MSTORE(SP + 792) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 800) + $ => A :MLOAD(SP + 808) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47258,11 +47310,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 784) + $ => A :MLOAD(SP + 792) $ => A :XOR - A :MSTORE(SP + 784) + A :MSTORE(SP + 792) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 800) + $ => A :MLOAD(SP + 808) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47339,16 +47391,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 784) - $ => B :XOR $ => A :MLOAD(SP + 792) + $ => B :XOR + $ => A :MLOAD(SP + 800) $ => A :ADD 3796741971448430592n => B ;; LoadConst32(883997877) $ => B :ADD - $ => A :MLOAD(SP + 824) + $ => A :MLOAD(SP + 832) $ => A :ADD - A :MSTORE(SP + 776) - B :MSTORE(SP + 784) + A :MSTORE(SP + 784) + B :MSTORE(SP + 792) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -47425,9 +47477,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 768) + A :MSTORE(SP + 776) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 776) + $ => A :MLOAD(SP + 784) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47504,11 +47556,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 768) + $ => A :MLOAD(SP + 776) $ => A :XOR - A :MSTORE(SP + 768) + A :MSTORE(SP + 776) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 776) + $ => A :MLOAD(SP + 784) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47585,27 +47637,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 768) + $ => A :MLOAD(SP + 776) $ => A :XOR - $ => B :MLOAD(SP + 888) + $ => B :MLOAD(SP + 896) A => D - $ => A :MLOAD(SP + 832) + $ => A :MLOAD(SP + 840) $ => C :XOR - $ => A :MLOAD(SP + 776) + $ => A :MLOAD(SP + 784) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 832) - $ => B :MLOAD(SP + 888) + $ => A :MLOAD(SP + 840) + $ => B :MLOAD(SP + 896) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 768) + A :MSTORE(SP + 776) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1592) + $ => A :MLOAD(SP + 1600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47681,9 +47733,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 760) + A :MSTORE(SP + 768) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1592) + $ => A :MLOAD(SP + 1600) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47760,11 +47812,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 760) + $ => A :MLOAD(SP + 768) $ => A :XOR - A :MSTORE(SP + 760) + A :MSTORE(SP + 768) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1592) + $ => A :MLOAD(SP + 1600) E :MSTORE(SP) 0 => D A => E @@ -47802,15 +47854,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 760) + $ => A :MLOAD(SP + 768) $ => A :XOR - $ => B :MLOAD(SP + 1648) + $ => B :MLOAD(SP + 1656) $ => A :ADD - $ => B :MLOAD(SP + 1144) + $ => B :MLOAD(SP + 1152) $ => A :ADD - A :MSTORE(SP + 760) + A :MSTORE(SP + 768) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 864) + $ => A :MLOAD(SP + 872) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47886,9 +47938,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 752) + A :MSTORE(SP + 760) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 864) + $ => A :MLOAD(SP + 872) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -47965,11 +48017,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 752) + $ => A :MLOAD(SP + 760) $ => A :XOR - A :MSTORE(SP + 752) + A :MSTORE(SP + 760) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 864) + $ => A :MLOAD(SP + 872) E :MSTORE(SP) 0 => D A => E @@ -48007,33 +48059,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 752) - $ => B :XOR $ => A :MLOAD(SP + 760) + $ => B :XOR + $ => A :MLOAD(SP + 768) $ => A :ADD - $ => B :MLOAD(SP + 912) + $ => B :MLOAD(SP + 920) $ => C :ADD - A :MSTORE(SP + 752) - $ => B :MLOAD(SP + 1000) - $ => A :MLOAD(SP + 784) - C => E + A :MSTORE(SP + 760) + $ => B :MLOAD(SP + 1008) + $ => A :MLOAD(SP + 792) + C => D $ => A :ADD - A :MSTORE(SP + 744) - $ => B :MLOAD(SP + 856) - $ => A :MLOAD(SP + 800) + A :MSTORE(SP + 752) + $ => B :MLOAD(SP + 864) + $ => A :MLOAD(SP + 808) $ => C :XOR - $ => A :MLOAD(SP + 744) + $ => A :MLOAD(SP + 752) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 856) + $ => B :MLOAD(SP + 864) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 736) + A :MSTORE(SP + 744) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 744) + $ => A :MLOAD(SP + 752) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48109,9 +48161,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 728) + A :MSTORE(SP + 736) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 744) + $ => A :MLOAD(SP + 752) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48188,11 +48240,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 728) + $ => A :MLOAD(SP + 736) $ => A :XOR - A :MSTORE(SP + 728) + A :MSTORE(SP + 736) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 744) + $ => A :MLOAD(SP + 752) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48269,16 +48321,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 728) - $ => B :XOR $ => A :MLOAD(SP + 736) + $ => B :XOR + $ => A :MLOAD(SP + 744) $ => A :ADD 4115178122448470016n => B ;; LoadConst32(958139571) $ => B :ADD - $ => A :MLOAD(SP + 768) + $ => A :MLOAD(SP + 776) $ => A :ADD - A :MSTORE(SP + 720) - B :MSTORE(SP + 728) + A :MSTORE(SP + 728) + B :MSTORE(SP + 736) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -48355,9 +48407,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 712) + A :MSTORE(SP + 720) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 720) + $ => A :MLOAD(SP + 728) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48434,11 +48486,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 712) + $ => A :MLOAD(SP + 720) $ => A :XOR - A :MSTORE(SP + 712) + A :MSTORE(SP + 720) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 720) + $ => A :MLOAD(SP + 728) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48515,27 +48567,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 712) + $ => A :MLOAD(SP + 720) $ => A :XOR - $ => B :MLOAD(SP + 832) + $ => B :MLOAD(SP + 840) A => D - $ => A :MLOAD(SP + 776) + $ => A :MLOAD(SP + 784) $ => C :XOR - $ => A :MLOAD(SP + 720) + $ => A :MLOAD(SP + 728) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 776) - $ => B :MLOAD(SP + 832) + $ => A :MLOAD(SP + 784) + $ => B :MLOAD(SP + 840) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 712) + A :MSTORE(SP + 720) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48611,9 +48663,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 704) + A :MSTORE(SP + 712) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1544) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48690,11 +48742,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 704) + $ => A :MLOAD(SP + 712) $ => A :XOR - A :MSTORE(SP + 704) + A :MSTORE(SP + 712) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1536) + $ => A :MLOAD(SP + 1544) E :MSTORE(SP) 0 => D A => E @@ -48732,15 +48784,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 704) + $ => A :MLOAD(SP + 712) $ => A :XOR - $ => B :MLOAD(SP + 1592) + $ => B :MLOAD(SP + 1600) $ => A :ADD - $ => B :MLOAD(SP + 1088) + $ => B :MLOAD(SP + 1096) $ => A :ADD - A :MSTORE(SP + 704) + A :MSTORE(SP + 712) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 808) + $ => A :MLOAD(SP + 816) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48816,9 +48868,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 696) + A :MSTORE(SP + 704) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 808) + $ => A :MLOAD(SP + 816) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -48895,11 +48947,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 696) + $ => A :MLOAD(SP + 704) $ => A :XOR - A :MSTORE(SP + 696) + A :MSTORE(SP + 704) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 808) + $ => A :MLOAD(SP + 816) E :MSTORE(SP) 0 => D A => E @@ -48937,33 +48989,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 696) - $ => B :XOR $ => A :MLOAD(SP + 704) + $ => B :XOR + $ => A :MLOAD(SP + 712) $ => A :ADD - $ => B :MLOAD(SP + 856) + $ => B :MLOAD(SP + 864) $ => C :ADD - A :MSTORE(SP + 696) - $ => B :MLOAD(SP + 944) - $ => A :MLOAD(SP + 728) + A :MSTORE(SP + 704) + $ => B :MLOAD(SP + 952) + $ => A :MLOAD(SP + 736) C => E $ => A :ADD - A :MSTORE(SP + 688) - $ => B :MLOAD(SP + 800) - $ => A :MLOAD(SP + 744) + A :MSTORE(SP + 696) + $ => B :MLOAD(SP + 808) + $ => A :MLOAD(SP + 752) $ => C :XOR - $ => A :MLOAD(SP + 688) + $ => A :MLOAD(SP + 696) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 800) + $ => B :MLOAD(SP + 808) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 680) + A :MSTORE(SP + 688) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 688) + $ => A :MLOAD(SP + 696) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49039,9 +49091,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 672) + A :MSTORE(SP + 680) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 688) + $ => A :MLOAD(SP + 696) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49118,11 +49170,176 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 672) + $ => A :MLOAD(SP + 680) $ => A :XOR - A :MSTORE(SP + 672) + A :MSTORE(SP + 680) 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 696) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A => B + $ => A :MLOAD(SP + 680) + $ => B :XOR $ => A :MLOAD(SP + 688) + $ => A :ADD + 5681478164732182528n => B ;; LoadConst32(1322822218) + $ => B :ADD + $ => A :MLOAD(SP + 720) + $ => A :ADD + A :MSTORE(SP + 672) + B :MSTORE(SP + 680) + 128849018880n => E ;; LoadConst32(30) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH + E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR + A :MSTORE(SP + 664) + 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 672) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49199,17 +49416,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 672) - $ => B :XOR - $ => A :MLOAD(SP + 680) - $ => A :ADD - 5681478164732182528n => B ;; LoadConst32(1322822218) - $ => B :ADD - $ => A :MLOAD(SP + 712) - $ => A :ADD + $ => A :MLOAD(SP + 664) + $ => A :XOR A :MSTORE(SP + 664) - B :MSTORE(SP + 672) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 672) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49285,9 +49496,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 656) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 664) + $ => A :XOR + $ => B :MLOAD(SP + 784) + A => D + $ => A :MLOAD(SP + 728) + $ => C :XOR + $ => A :MLOAD(SP + 672) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 728) + $ => B :MLOAD(SP + 784) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 664) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49363,12 +49593,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 656) - $ => A :XOR A :MSTORE(SP + 656) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 664) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1488) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49447,25 +49674,55 @@ label_3_3: A => B $ => A :MLOAD(SP + 656) $ => A :XOR - $ => B :MLOAD(SP + 776) + A :MSTORE(SP + 656) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1488) + E :MSTORE(SP) + 0 => D A => E - $ => A :MLOAD(SP + 720) - $ => C :XOR - $ => A :MLOAD(SP + 664) - C => B - $ => C :AND - C => D - $ => A :MLOAD(SP + 720) - $ => B :MLOAD(SP + 776) - $ => C :AND - D => A - C => B - $ => B :XOR + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH E => A + A => B + $ => A :MLOAD(SP + 656) + $ => A :XOR + $ => B :MLOAD(SP + 1544) + $ => A :ADD + $ => B :MLOAD(SP + 1040) $ => A :ADD A :MSTORE(SP + 656) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1480) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49542,8 +49799,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 648) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1480) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 760) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49623,8 +49880,8 @@ label_3_3: $ => A :MLOAD(SP + 648) $ => A :XOR A :MSTORE(SP + 648) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1480) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 760) E :MSTORE(SP) 0 => D A => E @@ -49663,14 +49920,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 648) - $ => A :XOR - $ => B :MLOAD(SP + 1536) - $ => A :ADD - $ => B :MLOAD(SP + 1032) + $ => B :XOR + $ => A :MLOAD(SP + 656) $ => A :ADD + $ => B :MLOAD(SP + 808) + $ => C :ADD A :MSTORE(SP + 648) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 752) + $ => B :MLOAD(SP + 896) + $ => A :MLOAD(SP + 680) + C => D + $ => A :ADD + A :MSTORE(SP + 640) + $ => B :MLOAD(SP + 752) + $ => A :MLOAD(SP + 696) + $ => C :XOR + $ => A :MLOAD(SP + 640) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 752) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 632) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 640) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49746,9 +50021,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 640) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 752) + A :MSTORE(SP + 624) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 640) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49825,75 +50100,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 640) + $ => A :MLOAD(SP + 624) $ => A :XOR - A :MSTORE(SP + 640) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 752) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 640) - $ => B :XOR - $ => A :MLOAD(SP + 648) - $ => A :ADD - $ => B :MLOAD(SP + 800) - $ => C :ADD - A :MSTORE(SP + 640) - $ => B :MLOAD(SP + 888) - $ => A :MLOAD(SP + 672) - C => E - $ => A :ADD - A :MSTORE(SP + 632) - $ => B :MLOAD(SP + 744) - $ => A :MLOAD(SP + 688) - $ => C :XOR - $ => A :MLOAD(SP + 632) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 744) - $ => C :XOR - E => A - C => B - $ => A :ADD A :MSTORE(SP + 624) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 632) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 640) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -49969,9 +50180,18 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 616) - 90194313216n => E ;; LoadConst32(21) + A => B + $ => A :MLOAD(SP + 624) + $ => B :XOR $ => A :MLOAD(SP + 632) + $ => A :ADD + 6601373594469531648n => B ;; LoadConst32(1537002063) + $ => B :ADD + $ => A :MLOAD(SP + 664) + $ => A :ADD + A :MSTORE(SP + 616) + B :MSTORE(SP + 624) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50047,12 +50267,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 608) + 81604378624n => E ;; LoadConst32(19) $ => A :MLOAD(SP + 616) - $ => A :XOR - A :MSTORE(SP + 616) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 632) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50129,17 +50346,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 616) - $ => B :XOR - $ => A :MLOAD(SP + 624) - $ => A :ADD - 6601373594469531648n => B ;; LoadConst32(1537002063) - $ => B :ADD - $ => A :MLOAD(SP + 656) - $ => A :ADD + $ => A :MLOAD(SP + 608) + $ => A :XOR A :MSTORE(SP + 608) - B :MSTORE(SP + 616) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 616) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50215,9 +50426,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 600) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 608) + $ => A :XOR + $ => B :MLOAD(SP + 728) + A => E + $ => A :MLOAD(SP + 672) + $ => C :XOR + $ => A :MLOAD(SP + 616) + C => B + $ => C :AND + C => D + $ => A :MLOAD(SP + 672) + $ => B :MLOAD(SP + 728) + $ => C :AND + D => A + C => B + $ => B :XOR + E => A + $ => A :ADD + A :MSTORE(SP + 608) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50293,12 +50523,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 600) - $ => A :XOR A :MSTORE(SP + 600) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 608) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1432) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50377,25 +50604,55 @@ label_3_3: A => B $ => A :MLOAD(SP + 600) $ => A :XOR - $ => B :MLOAD(SP + 720) - A => D - $ => A :MLOAD(SP + 664) - $ => C :XOR - $ => A :MLOAD(SP + 608) - C => B - $ => C :AND + A :MSTORE(SP + 600) + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1432) + E :MSTORE(SP) + 0 => D + A => E + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + $ => E :MLOAD(SP) + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) C => E - $ => A :MLOAD(SP + 664) - $ => B :MLOAD(SP + 720) - $ => C :AND +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + 0 => C + 4294967296n => B + ${A * B} => E + 0 => D + E :ARITH E => A - C => B - $ => B :XOR - D => A + A => B + $ => A :MLOAD(SP + 600) + $ => A :XOR + $ => B :MLOAD(SP + 1488) + $ => A :ADD + $ => B :MLOAD(SP + 984) $ => A :ADD A :MSTORE(SP + 600) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1424) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 704) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50472,8 +50729,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 592) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1424) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 704) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50553,8 +50810,8 @@ label_3_3: $ => A :MLOAD(SP + 592) $ => A :XOR A :MSTORE(SP + 592) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1424) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 704) E :MSTORE(SP) 0 => D A => E @@ -50593,14 +50850,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 592) - $ => A :XOR - $ => B :MLOAD(SP + 1480) - $ => A :ADD - $ => B :MLOAD(SP + 976) + $ => B :XOR + $ => A :MLOAD(SP + 600) $ => A :ADD + $ => B :MLOAD(SP + 752) + $ => C :ADD A :MSTORE(SP + 592) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 696) + $ => B :MLOAD(SP + 840) + $ => A :MLOAD(SP + 624) + C => D + $ => A :ADD + A :MSTORE(SP + 584) + $ => B :MLOAD(SP + 696) + $ => A :MLOAD(SP + 640) + $ => C :XOR + $ => A :MLOAD(SP + 584) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 696) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 576) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 584) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50676,9 +50951,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 584) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 696) + A :MSTORE(SP + 568) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 584) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50755,11 +51030,46 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 584) + $ => A :MLOAD(SP + 568) $ => A :XOR - A :MSTORE(SP + 584) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 696) + A :MSTORE(SP + 568) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 584) + A :MSTORE(SP) + E :MSTORE(SP + 1) + SP + 2 => SP + A :MSTORE(SP) + 0 => D + 4294967296n => B + ${E / B} => A + ${E % B} => C + E:ARITH + A => E + 32 => B + 0 => D + ${E / B} => A + ${E % B} => C + E:ARITH + $ => A :MLOAD(SP) + C => E +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => D + 0 => C + $${var _mulShlArith = A * B} + ${_mulShlArith / 18446744073709551616} => D + ${_mulShlArith % 18446744073709551616} => E :ARITH + ;; shl + SP - 2 => SP + $ => C :MLOAD(SP) + E :MSTORE(SP) + $ => E :MLOAD(SP + 1) + 137438953472n => A + E => B + $ => E :SUB + C => A + SP + 1 => SP E :MSTORE(SP) 0 => D A => E @@ -50796,34 +51106,22 @@ label_3_3: 0 => D E :ARITH E => A + SP - 1 => SP + ;; shr + $ => B :MLOAD(SP) + $ => A :OR A => B - $ => A :MLOAD(SP + 584) + $ => A :MLOAD(SP + 568) $ => B :XOR - $ => A :MLOAD(SP + 592) - $ => A :ADD - $ => B :MLOAD(SP + 744) - $ => C :ADD - A :MSTORE(SP + 584) - $ => B :MLOAD(SP + 832) - $ => A :MLOAD(SP + 616) - C => E - $ => A :ADD - A :MSTORE(SP + 576) - $ => B :MLOAD(SP + 688) - $ => A :MLOAD(SP + 632) - $ => C :XOR $ => A :MLOAD(SP + 576) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 688) - $ => C :XOR - E => A - C => B $ => A :ADD - A :MSTORE(SP + 568) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 576) + 7507060718340931584n => B ;; LoadConst32(1747873779) + $ => B :ADD + $ => A :MLOAD(SP + 608) + $ => A :ADD + A :MSTORE(SP + 560) + B :MSTORE(SP + 568) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50899,9 +51197,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 560) - 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 576) + A :MSTORE(SP + 552) + 81604378624n => E ;; LoadConst32(19) + $ => A :MLOAD(SP + 560) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -50978,11 +51276,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 560) + $ => A :MLOAD(SP + 552) $ => A :XOR - A :MSTORE(SP + 560) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 576) + A :MSTORE(SP + 552) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 560) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51059,17 +51357,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B + $ => A :MLOAD(SP + 552) + $ => A :XOR + $ => B :MLOAD(SP + 672) + A => D + $ => A :MLOAD(SP + 616) + $ => C :XOR $ => A :MLOAD(SP + 560) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 616) + $ => B :MLOAD(SP + 672) + $ => C :AND + E => A + C => B $ => B :XOR - $ => A :MLOAD(SP + 568) - $ => A :ADD - 7507060718340931584n => B ;; LoadConst32(1747873779) - $ => B :ADD - $ => A :MLOAD(SP + 600) + D => A $ => A :ADD A :MSTORE(SP + 552) - B :MSTORE(SP + 560) - 128849018880n => E ;; LoadConst32(30) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51146,8 +51454,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 544) - 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 552) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1376) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51227,43 +51535,8 @@ label_3_3: $ => A :MLOAD(SP + 544) $ => A :XOR A :MSTORE(SP + 544) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 552) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1376) E :MSTORE(SP) 0 => D A => E @@ -51300,32 +51573,16 @@ label_3_3: 0 => D E :ARITH E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR A => B $ => A :MLOAD(SP + 544) $ => A :XOR - $ => B :MLOAD(SP + 664) - A => D - $ => A :MLOAD(SP + 608) - $ => C :XOR - $ => A :MLOAD(SP + 552) - C => B - $ => C :AND - C => E - $ => A :MLOAD(SP + 608) - $ => B :MLOAD(SP + 664) - $ => C :AND - E => A - C => B - $ => B :XOR - D => A + $ => B :MLOAD(SP + 1432) + $ => A :ADD + $ => B :MLOAD(SP + 928) $ => A :ADD A :MSTORE(SP + 544) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1368) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 648) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51402,8 +51659,8 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A :MSTORE(SP + 536) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1368) + 55834574848n => E ;; LoadConst32(13) + $ => A :MLOAD(SP + 648) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51483,8 +51740,8 @@ label_3_3: $ => A :MLOAD(SP + 536) $ => A :XOR A :MSTORE(SP + 536) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1368) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 648) E :MSTORE(SP) 0 => D A => E @@ -51523,14 +51780,32 @@ label_3_3: E => A A => B $ => A :MLOAD(SP + 536) - $ => A :XOR - $ => B :MLOAD(SP + 1424) - $ => A :ADD - $ => B :MLOAD(SP + 920) + $ => B :XOR + $ => A :MLOAD(SP + 544) $ => A :ADD + $ => B :MLOAD(SP + 696) + $ => C :ADD A :MSTORE(SP + 536) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 640) + $ => B :MLOAD(SP + 784) + $ => A :MLOAD(SP + 568) + C => D + $ => A :ADD + A :MSTORE(SP + 528) + $ => B :MLOAD(SP + 640) + $ => A :MLOAD(SP + 584) + $ => C :XOR + $ => A :MLOAD(SP + 528) + C => B + $ => C :AND + C => A + $ => B :MLOAD(SP + 640) + $ => C :XOR + D => A + C => B + $ => A :ADD + A :MSTORE(SP + 520) + 111669149696n => E ;; LoadConst32(26) + $ => A :MLOAD(SP + 528) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51606,9 +51881,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 528) - 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 640) + A :MSTORE(SP + 512) + 90194313216n => E ;; LoadConst32(21) + $ => A :MLOAD(SP + 528) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51685,75 +51960,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 528) + $ => A :MLOAD(SP + 512) $ => A :XOR - A :MSTORE(SP + 528) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 640) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 528) - $ => B :XOR - $ => A :MLOAD(SP + 536) - $ => A :ADD - $ => B :MLOAD(SP + 688) - $ => C :ADD - A :MSTORE(SP + 528) - $ => B :MLOAD(SP + 776) - $ => A :MLOAD(SP + 560) - C => E - $ => A :ADD - A :MSTORE(SP + 520) - $ => B :MLOAD(SP + 632) - $ => A :MLOAD(SP + 576) - $ => C :XOR - $ => A :MLOAD(SP + 520) - C => B - $ => C :AND - C => A - $ => B :MLOAD(SP + 632) - $ => C :XOR - E => A - C => B - $ => A :ADD A :MSTORE(SP + 512) - 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 520) + 30064771072n => E ;; LoadConst32(7) + $ => A :MLOAD(SP + 528) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51829,9 +52040,18 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 504) - 90194313216n => E ;; LoadConst32(21) + A => B + $ => A :MLOAD(SP + 512) + $ => B :XOR $ => A :MLOAD(SP + 520) + $ => A :ADD + 8399075788783091712n => B ;; LoadConst32(1955562222) + $ => B :ADD + $ => A :MLOAD(SP + 552) + $ => A :ADD + A :MSTORE(SP + 504) + B :MSTORE(SP + 512) + 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51907,12 +52127,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B + A :MSTORE(SP + 496) + 81604378624n => E ;; LoadConst32(19) $ => A :MLOAD(SP + 504) - $ => A :XOR - A :MSTORE(SP + 504) - 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 520) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -51989,17 +52206,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 504) - $ => B :XOR - $ => A :MLOAD(SP + 512) - $ => A :ADD - 8399075788783091712n => B ;; LoadConst32(1955562222) - $ => B :ADD - $ => A :MLOAD(SP + 544) - $ => A :ADD + $ => A :MLOAD(SP + 496) + $ => A :XOR A :MSTORE(SP + 496) - B :MSTORE(SP + 504) - 128849018880n => E ;; LoadConst32(30) + 42949672960n => E ;; LoadConst32(10) + $ => A :MLOAD(SP + 504) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52075,9 +52286,28 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 488) - 81604378624n => E ;; LoadConst32(19) + A => B $ => A :MLOAD(SP + 496) + $ => A :XOR + $ => B :MLOAD(SP + 616) + A => D + $ => A :MLOAD(SP + 560) + $ => C :XOR + $ => A :MLOAD(SP + 504) + C => B + $ => C :AND + C => E + $ => A :MLOAD(SP + 560) + $ => B :MLOAD(SP + 616) + $ => C :AND + E => A + C => B + $ => B :XOR + D => A + $ => A :ADD + A :MSTORE(SP + 496) + 107374182400n => E ;; LoadConst32(25) + $ => A :MLOAD(SP + 1320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52153,12 +52383,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 488) - $ => A :XOR A :MSTORE(SP + 488) - 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 496) + 60129542144n => E ;; LoadConst32(14) + $ => A :MLOAD(SP + 1320) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52237,60 +52464,9 @@ label_3_3: A => B $ => A :MLOAD(SP + 488) $ => A :XOR - $ => B :MLOAD(SP + 608) - A => E - $ => A :MLOAD(SP + 552) - $ => C :XOR - $ => A :MLOAD(SP + 496) - C => B - $ => C :AND - C => D - $ => A :MLOAD(SP + 552) - $ => B :MLOAD(SP + 608) - $ => C :AND - D => A - C => B - $ => B :XOR - E => A - $ => A :ADD A :MSTORE(SP + 488) - 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1312) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP + 12884901888n => E ;; LoadConst32(3) + $ => A :MLOAD(SP + 1320) E :MSTORE(SP) 0 => D A => E @@ -52327,13 +52503,16 @@ label_3_3: 0 => D E :ARITH E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 480) - 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1312) + A => B + $ => A :MLOAD(SP + 488) + $ => A :XOR + $ => B :MLOAD(SP + 1376) + $ => A :ADD + $ => B :MLOAD(SP + 872) + $ => A :ADD + A :MSTORE(SP + 488) + 64424509440n => E ;; LoadConst32(15) + $ => A :MLOAD(SP + 592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52409,136 +52588,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A => B - $ => A :MLOAD(SP + 480) - $ => A :XOR A :MSTORE(SP + 480) - 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1312) - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - A => B - $ => A :MLOAD(SP + 480) - $ => A :XOR - $ => B :MLOAD(SP + 1368) - $ => A :ADD - $ => B :MLOAD(SP + 864) - $ => A :ADD - A :MSTORE(SP + 480) - 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 584) - A :MSTORE(SP) - E :MSTORE(SP + 1) - SP + 2 => SP - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - 0 => D - 0 => C - $${var _mulShlArith = A * B} - ${_mulShlArith / 18446744073709551616} => D - ${_mulShlArith % 18446744073709551616} => E :ARITH - ;; shl - SP - 2 => SP - $ => C :MLOAD(SP) - E :MSTORE(SP) - $ => E :MLOAD(SP + 1) - 137438953472n => A - E => B - $ => E :SUB - C => A - SP + 1 => SP - E :MSTORE(SP) - 0 => D - A => E - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - $ => E :MLOAD(SP) - A :MSTORE(SP) - 0 => D - 4294967296n => B - ${E / B} => A - ${E % B} => C - E:ARITH - A => E - 32 => B - 0 => D - ${E / B} => A - ${E % B} => C - E:ARITH - $ => A :MLOAD(SP) - C => E -;;NEED_INCLUDE: 2-exp - zkPC + 2 => RR - :JMP(@two_power + E) - A => E - 0 => D - ${E / B} => A - ${E % B} => C - E :ARITH - 0 => C - 4294967296n => B - ${A * B} => E - 0 => D - E :ARITH - E => A - SP - 1 => SP - ;; shr - $ => B :MLOAD(SP) - $ => A :OR - A :MSTORE(SP + 472) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 584) + $ => A :MLOAD(SP + 592) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52615,11 +52667,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 472) + $ => A :MLOAD(SP + 480) $ => A :XOR - A :MSTORE(SP + 472) + A :MSTORE(SP + 480) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 584) + $ => A :MLOAD(SP + 592) E :MSTORE(SP) 0 => D A => E @@ -52657,33 +52709,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 472) - $ => B :XOR $ => A :MLOAD(SP + 480) + $ => B :XOR + $ => A :MLOAD(SP + 488) $ => A :ADD - $ => B :MLOAD(SP + 632) + $ => B :MLOAD(SP + 640) $ => C :ADD - A :MSTORE(SP + 472) - $ => B :MLOAD(SP + 720) - $ => A :MLOAD(SP + 504) - C => E + A :MSTORE(SP + 480) + $ => B :MLOAD(SP + 728) + $ => A :MLOAD(SP + 512) + C => D $ => A :ADD - A :MSTORE(SP + 464) - $ => B :MLOAD(SP + 576) - $ => A :MLOAD(SP + 520) + A :MSTORE(SP + 472) + $ => B :MLOAD(SP + 584) + $ => A :MLOAD(SP + 528) $ => C :XOR - $ => A :MLOAD(SP + 464) + $ => A :MLOAD(SP + 472) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 576) + $ => B :MLOAD(SP + 584) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 456) + A :MSTORE(SP + 464) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 464) + $ => A :MLOAD(SP + 472) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52759,9 +52811,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 448) + A :MSTORE(SP + 456) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 464) + $ => A :MLOAD(SP + 472) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52838,11 +52890,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 448) + $ => A :MLOAD(SP + 456) $ => A :XOR - A :MSTORE(SP + 448) + A :MSTORE(SP + 456) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 464) + $ => A :MLOAD(SP + 472) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -52919,16 +52971,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 448) - $ => B :XOR $ => A :MLOAD(SP + 456) + $ => B :XOR + $ => A :MLOAD(SP + 464) $ => A :ADD 8693463984101130240n => B ;; LoadConst32(2024104815) $ => B :ADD - $ => A :MLOAD(SP + 488) + $ => A :MLOAD(SP + 496) $ => A :ADD - A :MSTORE(SP + 440) - B :MSTORE(SP + 448) + A :MSTORE(SP + 448) + B :MSTORE(SP + 456) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -53005,9 +53057,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 432) + A :MSTORE(SP + 440) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 440) + $ => A :MLOAD(SP + 448) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53084,11 +53136,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 432) + $ => A :MLOAD(SP + 440) $ => A :XOR - A :MSTORE(SP + 432) + A :MSTORE(SP + 440) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 440) + $ => A :MLOAD(SP + 448) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53165,27 +53217,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 432) + $ => A :MLOAD(SP + 440) $ => A :XOR - $ => B :MLOAD(SP + 552) + $ => B :MLOAD(SP + 560) A => D - $ => A :MLOAD(SP + 496) + $ => A :MLOAD(SP + 504) $ => C :XOR - $ => A :MLOAD(SP + 440) + $ => A :MLOAD(SP + 448) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 496) - $ => B :MLOAD(SP + 552) + $ => A :MLOAD(SP + 504) + $ => B :MLOAD(SP + 560) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 432) + A :MSTORE(SP + 440) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53261,9 +53313,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 424) + A :MSTORE(SP + 432) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53340,11 +53392,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 424) + $ => A :MLOAD(SP + 432) $ => A :XOR - A :MSTORE(SP + 424) + A :MSTORE(SP + 432) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1256) + $ => A :MLOAD(SP + 1264) E :MSTORE(SP) 0 => D A => E @@ -53382,15 +53434,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 424) + $ => A :MLOAD(SP + 432) $ => A :XOR - $ => B :MLOAD(SP + 1312) + $ => B :MLOAD(SP + 1320) $ => A :ADD - $ => B :MLOAD(SP + 808) + $ => B :MLOAD(SP + 816) $ => A :ADD - A :MSTORE(SP + 424) + A :MSTORE(SP + 432) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 528) + $ => A :MLOAD(SP + 536) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53466,9 +53518,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 416) + A :MSTORE(SP + 424) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 528) + $ => A :MLOAD(SP + 536) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53545,11 +53597,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 416) + $ => A :MLOAD(SP + 424) $ => A :XOR - A :MSTORE(SP + 416) + A :MSTORE(SP + 424) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 528) + $ => A :MLOAD(SP + 536) E :MSTORE(SP) 0 => D A => E @@ -53587,33 +53639,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 416) - $ => B :XOR $ => A :MLOAD(SP + 424) + $ => B :XOR + $ => A :MLOAD(SP + 432) $ => A :ADD - $ => B :MLOAD(SP + 576) + $ => B :MLOAD(SP + 584) $ => C :ADD - A :MSTORE(SP + 416) - $ => B :MLOAD(SP + 664) - $ => A :MLOAD(SP + 448) + A :MSTORE(SP + 424) + $ => B :MLOAD(SP + 672) + $ => A :MLOAD(SP + 456) C => E $ => A :ADD - A :MSTORE(SP + 408) - $ => B :MLOAD(SP + 520) - $ => A :MLOAD(SP + 464) + A :MSTORE(SP + 416) + $ => B :MLOAD(SP + 528) + $ => A :MLOAD(SP + 472) $ => C :XOR - $ => A :MLOAD(SP + 408) + $ => A :MLOAD(SP + 416) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 520) + $ => B :MLOAD(SP + 528) $ => C :XOR E => A C => B $ => A :ADD - A :MSTORE(SP + 400) + A :MSTORE(SP + 408) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 408) + $ => A :MLOAD(SP + 416) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53689,9 +53741,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 392) + A :MSTORE(SP + 400) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 408) + $ => A :MLOAD(SP + 416) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53768,11 +53820,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 392) + $ => A :MLOAD(SP + 400) $ => A :XOR - A :MSTORE(SP + 392) + A :MSTORE(SP + 400) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 408) + $ => A :MLOAD(SP + 416) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -53849,16 +53901,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 392) - $ => B :XOR $ => A :MLOAD(SP + 400) + $ => B :XOR + $ => A :MLOAD(SP + 408) $ => A :ADD 9568029435643297792n => B ;; LoadConst32(2227730452) $ => B :ADD - $ => A :MLOAD(SP + 432) + $ => A :MLOAD(SP + 440) $ => A :ADD - A :MSTORE(SP + 384) - B :MSTORE(SP + 392) + A :MSTORE(SP + 392) + B :MSTORE(SP + 400) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -53935,9 +53987,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 376) + A :MSTORE(SP + 384) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 384) + $ => A :MLOAD(SP + 392) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54014,11 +54066,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 376) + $ => A :MLOAD(SP + 384) $ => A :XOR - A :MSTORE(SP + 376) + A :MSTORE(SP + 384) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 384) + $ => A :MLOAD(SP + 392) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54095,27 +54147,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 376) + $ => A :MLOAD(SP + 384) $ => A :XOR - $ => B :MLOAD(SP + 496) + $ => B :MLOAD(SP + 504) A => D - $ => A :MLOAD(SP + 440) + $ => A :MLOAD(SP + 448) $ => C :XOR - $ => A :MLOAD(SP + 384) + $ => A :MLOAD(SP + 392) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 440) - $ => B :MLOAD(SP + 496) + $ => A :MLOAD(SP + 448) + $ => B :MLOAD(SP + 504) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 376) + A :MSTORE(SP + 384) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1200) + $ => A :MLOAD(SP + 1208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54191,9 +54243,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 368) + A :MSTORE(SP + 376) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1200) + $ => A :MLOAD(SP + 1208) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54270,11 +54322,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 368) + $ => A :MLOAD(SP + 376) $ => A :XOR - A :MSTORE(SP + 368) + A :MSTORE(SP + 376) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1200) + $ => A :MLOAD(SP + 1208) E :MSTORE(SP) 0 => D A => E @@ -54312,15 +54364,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 368) + $ => A :MLOAD(SP + 376) $ => A :XOR - $ => B :MLOAD(SP + 1256) + $ => B :MLOAD(SP + 1264) $ => A :ADD - $ => B :MLOAD(SP + 752) + $ => B :MLOAD(SP + 760) $ => A :ADD - A :MSTORE(SP + 368) + A :MSTORE(SP + 376) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 472) + $ => A :MLOAD(SP + 480) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54396,9 +54448,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 360) + A :MSTORE(SP + 368) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 472) + $ => A :MLOAD(SP + 480) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54475,11 +54527,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 360) + $ => A :MLOAD(SP + 368) $ => A :XOR - A :MSTORE(SP + 360) + A :MSTORE(SP + 368) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 472) + $ => A :MLOAD(SP + 480) E :MSTORE(SP) 0 => D A => E @@ -54517,33 +54569,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 360) - $ => B :XOR $ => A :MLOAD(SP + 368) + $ => B :XOR + $ => A :MLOAD(SP + 376) $ => A :ADD - $ => B :MLOAD(SP + 520) + $ => B :MLOAD(SP + 528) $ => C :ADD - A :MSTORE(SP + 360) - $ => B :MLOAD(SP + 608) - $ => A :MLOAD(SP + 392) + A :MSTORE(SP + 368) + $ => B :MLOAD(SP + 616) + $ => A :MLOAD(SP + 400) C => D $ => A :ADD - A :MSTORE(SP + 352) - $ => B :MLOAD(SP + 464) - $ => A :MLOAD(SP + 408) + A :MSTORE(SP + 360) + $ => B :MLOAD(SP + 472) + $ => A :MLOAD(SP + 416) $ => C :XOR - $ => A :MLOAD(SP + 352) + $ => A :MLOAD(SP + 360) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 464) + $ => B :MLOAD(SP + 472) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 344) + A :MSTORE(SP + 352) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 352) + $ => A :MLOAD(SP + 360) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54619,9 +54671,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 336) + A :MSTORE(SP + 344) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 352) + $ => A :MLOAD(SP + 360) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54698,11 +54750,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 336) + $ => A :MLOAD(SP + 344) $ => A :XOR - A :MSTORE(SP + 336) + A :MSTORE(SP + 344) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 352) + $ => A :MLOAD(SP + 360) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54779,16 +54831,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 336) - $ => B :XOR $ => A :MLOAD(SP + 344) + $ => B :XOR + $ => A :MLOAD(SP + 352) $ => A :ADD 10144078919058325504n => B ;; LoadConst32(2361852424) $ => B :ADD - $ => A :MLOAD(SP + 376) + $ => A :MLOAD(SP + 384) $ => A :ADD - A :MSTORE(SP + 328) - B :MSTORE(SP + 336) + A :MSTORE(SP + 336) + B :MSTORE(SP + 344) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -54865,9 +54917,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 320) + A :MSTORE(SP + 328) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 328) + $ => A :MLOAD(SP + 336) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -54944,11 +54996,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 320) + $ => A :MLOAD(SP + 328) $ => A :XOR - A :MSTORE(SP + 320) + A :MSTORE(SP + 328) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 328) + $ => A :MLOAD(SP + 336) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55025,27 +55077,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 320) + $ => A :MLOAD(SP + 328) $ => A :XOR - $ => B :MLOAD(SP + 440) + $ => B :MLOAD(SP + 448) A => E - $ => A :MLOAD(SP + 384) + $ => A :MLOAD(SP + 392) $ => C :XOR - $ => A :MLOAD(SP + 328) + $ => A :MLOAD(SP + 336) C => B $ => C :AND C => D - $ => A :MLOAD(SP + 384) - $ => B :MLOAD(SP + 440) + $ => A :MLOAD(SP + 392) + $ => B :MLOAD(SP + 448) $ => C :AND D => A C => B $ => B :XOR E => A $ => A :ADD - A :MSTORE(SP + 320) + A :MSTORE(SP + 328) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1144) + $ => A :MLOAD(SP + 1152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55121,9 +55173,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 312) + A :MSTORE(SP + 320) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1144) + $ => A :MLOAD(SP + 1152) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55200,11 +55252,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 312) + $ => A :MLOAD(SP + 320) $ => A :XOR - A :MSTORE(SP + 312) + A :MSTORE(SP + 320) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1144) + $ => A :MLOAD(SP + 1152) E :MSTORE(SP) 0 => D A => E @@ -55242,15 +55294,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 312) + $ => A :MLOAD(SP + 320) $ => A :XOR - $ => B :MLOAD(SP + 1200) + $ => B :MLOAD(SP + 1208) $ => A :ADD - $ => B :MLOAD(SP + 696) + $ => B :MLOAD(SP + 704) $ => A :ADD - A :MSTORE(SP + 312) + A :MSTORE(SP + 320) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 416) + $ => A :MLOAD(SP + 424) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55326,9 +55378,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 304) + A :MSTORE(SP + 312) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 416) + $ => A :MLOAD(SP + 424) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55405,11 +55457,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 304) + $ => A :MLOAD(SP + 312) $ => A :XOR - A :MSTORE(SP + 304) + A :MSTORE(SP + 312) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 416) + $ => A :MLOAD(SP + 424) E :MSTORE(SP) 0 => D A => E @@ -55447,33 +55499,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 304) - $ => B :XOR $ => A :MLOAD(SP + 312) + $ => B :XOR + $ => A :MLOAD(SP + 320) $ => A :ADD - $ => B :MLOAD(SP + 464) + $ => B :MLOAD(SP + 472) $ => C :ADD - A :MSTORE(SP + 304) - $ => B :MLOAD(SP + 552) - $ => A :MLOAD(SP + 336) + A :MSTORE(SP + 312) + $ => B :MLOAD(SP + 560) + $ => A :MLOAD(SP + 344) C => D $ => A :ADD - A :MSTORE(SP + 296) - $ => B :MLOAD(SP + 408) - $ => A :MLOAD(SP + 352) + A :MSTORE(SP + 304) + $ => B :MLOAD(SP + 416) + $ => A :MLOAD(SP + 360) $ => C :XOR - $ => A :MLOAD(SP + 296) + $ => A :MLOAD(SP + 304) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 408) + $ => B :MLOAD(SP + 416) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 288) + A :MSTORE(SP + 296) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 296) + $ => A :MLOAD(SP + 304) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55549,9 +55601,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 280) + A :MSTORE(SP + 288) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 296) + $ => A :MLOAD(SP + 304) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55628,11 +55680,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 280) + $ => A :MLOAD(SP + 288) $ => A :XOR - A :MSTORE(SP + 280) + A :MSTORE(SP + 288) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 296) + $ => A :MLOAD(SP + 304) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55709,16 +55761,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 280) - $ => B :XOR $ => A :MLOAD(SP + 288) + $ => B :XOR + $ => A :MLOAD(SP + 296) $ => A :ADD 10430055236243554304n => B ;; LoadConst32(2428436474) $ => B :ADD - $ => A :MLOAD(SP + 320) + $ => A :MLOAD(SP + 328) $ => A :ADD - A :MSTORE(SP + 272) - B :MSTORE(SP + 280) + A :MSTORE(SP + 280) + B :MSTORE(SP + 288) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -55795,9 +55847,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 264) + A :MSTORE(SP + 272) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 272) + $ => A :MLOAD(SP + 280) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55874,11 +55926,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 264) + $ => A :MLOAD(SP + 272) $ => A :XOR - A :MSTORE(SP + 264) + A :MSTORE(SP + 272) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 272) + $ => A :MLOAD(SP + 280) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -55955,27 +56007,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 264) + $ => A :MLOAD(SP + 272) $ => A :XOR - $ => B :MLOAD(SP + 384) + $ => B :MLOAD(SP + 392) A => D - $ => A :MLOAD(SP + 328) + $ => A :MLOAD(SP + 336) $ => C :XOR - $ => A :MLOAD(SP + 272) + $ => A :MLOAD(SP + 280) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 328) - $ => B :MLOAD(SP + 384) + $ => A :MLOAD(SP + 336) + $ => B :MLOAD(SP + 392) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 264) + A :MSTORE(SP + 272) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56051,9 +56103,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 256) + A :MSTORE(SP + 264) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1096) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56130,11 +56182,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 256) + $ => A :MLOAD(SP + 264) $ => A :XOR - A :MSTORE(SP + 256) + A :MSTORE(SP + 264) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1096) E :MSTORE(SP) 0 => D A => E @@ -56172,15 +56224,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 256) + $ => A :MLOAD(SP + 264) $ => A :XOR - $ => B :MLOAD(SP + 1144) + $ => B :MLOAD(SP + 1152) $ => A :ADD - $ => B :MLOAD(SP + 640) + $ => B :MLOAD(SP + 648) $ => A :ADD - A :MSTORE(SP + 256) + A :MSTORE(SP + 264) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 360) + $ => A :MLOAD(SP + 368) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56256,9 +56308,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 248) + A :MSTORE(SP + 256) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 360) + $ => A :MLOAD(SP + 368) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56335,11 +56387,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 248) + $ => A :MLOAD(SP + 256) $ => A :XOR - A :MSTORE(SP + 248) + A :MSTORE(SP + 256) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 360) + $ => A :MLOAD(SP + 368) E :MSTORE(SP) 0 => D A => E @@ -56377,33 +56429,33 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 248) - $ => B :XOR $ => A :MLOAD(SP + 256) + $ => B :XOR + $ => A :MLOAD(SP + 264) $ => A :ADD - $ => B :MLOAD(SP + 408) + $ => B :MLOAD(SP + 416) $ => C :ADD - A :MSTORE(SP + 248) - $ => B :MLOAD(SP + 496) - $ => A :MLOAD(SP + 280) - C => E + A :MSTORE(SP + 256) + $ => B :MLOAD(SP + 504) + $ => A :MLOAD(SP + 288) + C => D $ => A :ADD - A :MSTORE(SP + 240) - $ => B :MLOAD(SP + 352) - $ => A :MLOAD(SP + 296) + A :MSTORE(SP + 248) + $ => B :MLOAD(SP + 360) + $ => A :MLOAD(SP + 304) $ => C :XOR - $ => A :MLOAD(SP + 240) + $ => A :MLOAD(SP + 248) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 352) + $ => B :MLOAD(SP + 360) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 232) + A :MSTORE(SP + 240) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 240) + $ => A :MLOAD(SP + 248) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56479,9 +56531,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 224) + A :MSTORE(SP + 232) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 240) + $ => A :MLOAD(SP + 248) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56558,11 +56610,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 224) + $ => A :MLOAD(SP + 232) $ => A :XOR - A :MSTORE(SP + 224) + A :MSTORE(SP + 232) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 240) + $ => A :MLOAD(SP + 248) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56639,16 +56691,16 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 224) - $ => B :XOR $ => A :MLOAD(SP + 232) + $ => B :XOR + $ => A :MLOAD(SP + 240) $ => A :ADD 11840083176930148352n => B ;; LoadConst32(2756734187) $ => B :ADD - $ => A :MLOAD(SP + 264) + $ => A :MLOAD(SP + 272) $ => A :ADD - A :MSTORE(SP + 216) - B :MSTORE(SP + 224) + A :MSTORE(SP + 224) + B :MSTORE(SP + 232) 128849018880n => E ;; LoadConst32(30) A :MSTORE(SP) E :MSTORE(SP + 1) @@ -56725,9 +56777,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 208) + A :MSTORE(SP + 216) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 216) + $ => A :MLOAD(SP + 224) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56804,11 +56856,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 208) + $ => A :MLOAD(SP + 216) $ => A :XOR - A :MSTORE(SP + 208) + A :MSTORE(SP + 216) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 216) + $ => A :MLOAD(SP + 224) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56885,27 +56937,27 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 208) + $ => A :MLOAD(SP + 216) $ => A :XOR - $ => B :MLOAD(SP + 328) + $ => B :MLOAD(SP + 336) A => D - $ => A :MLOAD(SP + 272) + $ => A :MLOAD(SP + 280) $ => C :XOR - $ => A :MLOAD(SP + 216) + $ => A :MLOAD(SP + 224) C => B $ => C :AND C => E - $ => A :MLOAD(SP + 272) - $ => B :MLOAD(SP + 328) + $ => A :MLOAD(SP + 280) + $ => B :MLOAD(SP + 336) $ => C :AND E => A C => B $ => B :XOR D => A $ => A :ADD - A :MSTORE(SP + 208) + A :MSTORE(SP + 216) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 1032) + $ => A :MLOAD(SP + 1040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -56981,9 +57033,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 200) + A :MSTORE(SP + 208) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 1032) + $ => A :MLOAD(SP + 1040) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57060,11 +57112,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 200) + $ => A :MLOAD(SP + 208) $ => A :XOR - A :MSTORE(SP + 200) + A :MSTORE(SP + 208) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 1032) + $ => A :MLOAD(SP + 1040) E :MSTORE(SP) 0 => D A => E @@ -57102,15 +57154,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 200) + $ => A :MLOAD(SP + 208) $ => B :XOR - $ => A :MLOAD(SP + 1088) + $ => A :MLOAD(SP + 1096) $ => A :ADD - $ => B :MLOAD(SP + 584) + $ => B :MLOAD(SP + 592) $ => A :ADD - A :MSTORE(SP + 200) + A :MSTORE(SP + 208) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 304) + $ => A :MLOAD(SP + 312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57186,9 +57238,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 192) + A :MSTORE(SP + 200) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 304) + $ => A :MLOAD(SP + 312) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57265,11 +57317,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 192) + $ => A :MLOAD(SP + 200) $ => A :XOR - A :MSTORE(SP + 192) + A :MSTORE(SP + 200) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 304) + $ => A :MLOAD(SP + 312) E :MSTORE(SP) 0 => D A => E @@ -57307,32 +57359,32 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 192) - $ => B :XOR $ => A :MLOAD(SP + 200) + $ => B :XOR + $ => A :MLOAD(SP + 208) $ => A :ADD - $ => B :MLOAD(SP + 352) + $ => B :MLOAD(SP + 360) $ => A :ADD - $ => B :MLOAD(SP + 440) + $ => B :MLOAD(SP + 448) A => D - $ => A :MLOAD(SP + 224) + $ => A :MLOAD(SP + 232) $ => A :ADD - A :MSTORE(SP + 192) - $ => B :MLOAD(SP + 296) - $ => A :MLOAD(SP + 240) + A :MSTORE(SP + 200) + $ => B :MLOAD(SP + 304) + $ => A :MLOAD(SP + 248) $ => C :XOR - $ => A :MLOAD(SP + 192) + $ => A :MLOAD(SP + 200) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 296) + $ => B :MLOAD(SP + 304) $ => C :XOR D => A C => B $ => A :ADD - A :MSTORE(SP + 184) + A :MSTORE(SP + 192) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 192) + $ => A :MLOAD(SP + 200) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57408,9 +57460,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 176) + A :MSTORE(SP + 184) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 192) + $ => A :MLOAD(SP + 200) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57487,11 +57539,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 176) + $ => A :MLOAD(SP + 184) $ => A :XOR - A :MSTORE(SP + 176) + A :MSTORE(SP + 184) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 192) + $ => A :MLOAD(SP + 200) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57568,34 +57620,34 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 176) - $ => B :XOR $ => A :MLOAD(SP + 184) + $ => B :XOR + $ => A :MLOAD(SP + 192) $ => A :ADD 13761210417659510784n => B ;; LoadConst32(3204031479) $ => B :ADD - $ => A :MLOAD(SP + 208) - $ => A :ADD - B :MSTORE(SP + 176) - A :MSTORE(SP + 168) - $ => B :MLOAD(SP + 272) $ => A :MLOAD(SP + 216) + $ => A :ADD + B :MSTORE(SP + 184) + A :MSTORE(SP + 176) + $ => B :MLOAD(SP + 280) + $ => A :MLOAD(SP + 224) $ => C :XOR - $ => A :MLOAD(SP + 168) + $ => A :MLOAD(SP + 176) C => B $ => C :AND - C => E - $ => A :MLOAD(SP + 216) - $ => B :MLOAD(SP + 272) + C => D + $ => A :MLOAD(SP + 224) + $ => B :MLOAD(SP + 280) $ => C :AND - E => A + D => A C => B $ => A :XOR - $ => B :MLOAD(SP + 112) + $ => B :MLOAD(SP + 120) $ => A :ADD - A :MSTORE(SP + 160) + A :MSTORE(SP + 168) 128849018880n => E ;; LoadConst32(30) - $ => A :MLOAD(SP + 168) + $ => A :MLOAD(SP + 176) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57671,9 +57723,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 152) + A :MSTORE(SP + 160) 81604378624n => E ;; LoadConst32(19) - $ => A :MLOAD(SP + 168) + $ => A :MLOAD(SP + 176) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57750,11 +57802,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 152) + $ => A :MLOAD(SP + 160) $ => A :XOR - A :MSTORE(SP + 152) + A :MSTORE(SP + 160) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 168) + $ => A :MLOAD(SP + 176) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57831,13 +57883,13 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 152) - $ => B :XOR $ => A :MLOAD(SP + 160) + $ => B :XOR + $ => A :MLOAD(SP + 168) $ => A :ADD - A :MSTORE(SP + 152) + A :MSTORE(SP + 160) 107374182400n => E ;; LoadConst32(25) - $ => A :MLOAD(SP + 976) + $ => A :MLOAD(SP + 984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57913,9 +57965,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 144) + A :MSTORE(SP + 152) 60129542144n => E ;; LoadConst32(14) - $ => A :MLOAD(SP + 976) + $ => A :MLOAD(SP + 984) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -57992,11 +58044,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 144) + $ => A :MLOAD(SP + 152) $ => A :XOR - A :MSTORE(SP + 144) + A :MSTORE(SP + 152) 12884901888n => E ;; LoadConst32(3) - $ => A :MLOAD(SP + 976) + $ => A :MLOAD(SP + 984) E :MSTORE(SP) 0 => D A => E @@ -58034,15 +58086,15 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 144) + $ => A :MLOAD(SP + 152) $ => B :XOR - $ => A :MLOAD(SP + 1032) + $ => A :MLOAD(SP + 1040) $ => A :ADD - $ => B :MLOAD(SP + 528) + $ => B :MLOAD(SP + 536) $ => A :ADD - A :MSTORE(SP + 144) + A :MSTORE(SP + 152) 64424509440n => E ;; LoadConst32(15) - $ => A :MLOAD(SP + 248) + $ => A :MLOAD(SP + 256) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -58118,9 +58170,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 136) + A :MSTORE(SP + 144) 55834574848n => E ;; LoadConst32(13) - $ => A :MLOAD(SP + 248) + $ => A :MLOAD(SP + 256) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -58197,11 +58249,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 136) + $ => A :MLOAD(SP + 144) $ => A :XOR - A :MSTORE(SP + 136) + A :MSTORE(SP + 144) 42949672960n => E ;; LoadConst32(10) - $ => A :MLOAD(SP + 248) + $ => A :MLOAD(SP + 256) E :MSTORE(SP) 0 => D A => E @@ -58239,32 +58291,32 @@ label_3_3: E :ARITH E => A A => B - $ => A :MLOAD(SP + 136) - $ => B :XOR $ => A :MLOAD(SP + 144) + $ => B :XOR + $ => A :MLOAD(SP + 152) $ => A :ADD - $ => B :MLOAD(SP + 296) + $ => B :MLOAD(SP + 304) $ => A :ADD - $ => B :MLOAD(SP + 384) - A => E - $ => A :MLOAD(SP + 176) + $ => B :MLOAD(SP + 392) + A => D + $ => A :MLOAD(SP + 184) $ => A :ADD - A :MSTORE(SP + 136) - $ => B :MLOAD(SP + 240) - $ => A :MLOAD(SP + 192) + A :MSTORE(SP + 144) + $ => B :MLOAD(SP + 248) + $ => A :MLOAD(SP + 200) $ => C :XOR - $ => A :MLOAD(SP + 136) + $ => A :MLOAD(SP + 144) C => B $ => C :AND C => A - $ => B :MLOAD(SP + 240) + $ => B :MLOAD(SP + 248) $ => C :XOR - E => A + D => A C => B $ => A :ADD - A :MSTORE(SP + 128) + A :MSTORE(SP + 136) 111669149696n => E ;; LoadConst32(26) - $ => A :MLOAD(SP + 136) + $ => A :MLOAD(SP + 144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -58340,9 +58392,9 @@ label_3_3: ;; shr $ => B :MLOAD(SP) $ => A :OR - A :MSTORE(SP + 120) + A :MSTORE(SP + 128) 90194313216n => E ;; LoadConst32(21) - $ => A :MLOAD(SP + 136) + $ => A :MLOAD(SP + 144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -58419,11 +58471,11 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 120) + $ => A :MLOAD(SP + 128) $ => A :XOR - A :MSTORE(SP + 120) + A :MSTORE(SP + 128) 30064771072n => E ;; LoadConst32(7) - $ => A :MLOAD(SP + 136) + $ => A :MLOAD(SP + 144) A :MSTORE(SP) E :MSTORE(SP + 1) SP + 2 => SP @@ -58500,50 +58552,51 @@ label_3_3: $ => B :MLOAD(SP) $ => A :OR A => B - $ => A :MLOAD(SP + 120) - $ => B :XOR $ => A :MLOAD(SP + 128) + $ => B :XOR + $ => A :MLOAD(SP + 136) $ => A :ADD 14299343272655454208n => B ;; LoadConst32(3329325298) $ => B :ADD - $ => A :MLOAD(SP + 152) + $ => A :MLOAD(SP + 160) + $ => C :ADD + C :MSTORE(SP + 120) + $ => A :MLOAD(SP + 176) + B => D + $ => B :MLOAD(SP + 8) $ => C :ADD + $ => A :MLOAD(SP + 336) + $ => B :MLOAD(SP + 32) C :MSTORE(SP + 112) - $ => A :MLOAD(SP + 168) - B => E - $ => B :MLOAD(SP + 16) $ => A :ADD - A :MSTORE(SP + 104) - $ => B :MLOAD(SP + 24) - $ => A :MLOAD(SP + 328) + D => B $ => A :ADD - E => B + A :MSTORE(SP + 88) + $ => B :MLOAD(SP + 16) + $ => A :MLOAD(SP + 224) + $ => B :ADD + B :MSTORE(SP + 104) + $ => B :MLOAD(SP + 48) + $ => A :MLOAD(SP + 144) $ => A :ADD A :MSTORE(SP + 80) - $ => B :MLOAD(SP + 8) - $ => A :MLOAD(SP + 216) - $ => C :ADD - $ => A :MLOAD(SP + 136) + $ => B :MLOAD(SP + 96) + $ => A :MLOAD(SP + 280) + $ => B :ADD + B :MSTORE(SP + 96) $ => B :MLOAD(SP + 40) - C :MSTORE(SP + 96) - $ => C :ADD - $ => A :MLOAD(SP + 272) - $ => B :MLOAD(SP + 88) - C :MSTORE(SP + 72) + $ => A :MLOAD(SP + 200) $ => B :ADD - B :MSTORE(SP + 88) - $ => B :MLOAD(SP + 32) - $ => A :MLOAD(SP + 192) - $ => D :ADD - $ => A :MLOAD(SP + 240) - CTX => B - D :MSTORE(SP + 64) - $ => CTX :ADD + B :MSTORE(SP + 72) + $ => B :MLOAD(SP + 24) + $ => A :MLOAD(SP + 248) + $ => B :ADD + B :MSTORE(SP + 64) 274877906944n => B ;; LoadConst32(64) - $ => A :MLOAD(SP + 48) + $ => A :MLOAD(SP + 56) $ => E :ADD E => A - $ => B :MLOAD(SP + 3816) + $ => B :MLOAD(SP + 3824) $ => A :EQ 1 - A => A 4294967296n => B @@ -58556,19 +58609,21 @@ label_3_3: A :JMPZ(label_3_4) :JMP(label_3_5) label_3_4: - $ => A :MLOAD(SP + 96) - $ => B :MLOAD(SP + 104) - $ => C :MLOAD(SP + 96) + $ => A :MLOAD(SP + 104) + $ => B :MLOAD(SP + 112) + $ => C :MLOAD(SP + 112) C :MSTORE(SP + 8) $ => C :MLOAD(SP + 104) C :MSTORE(SP + 16) - $ => C :MLOAD(SP + 80) - C :MSTORE(SP + 24) $ => C :MLOAD(SP + 64) + C :MSTORE(SP + 24) + $ => C :MLOAD(SP + 88) C :MSTORE(SP + 32) $ => C :MLOAD(SP + 72) C :MSTORE(SP + 40) - E :MSTORE(SP + 48) + $ => C :MLOAD(SP + 80) + C :MSTORE(SP + 48) + E :MSTORE(SP + 56) :JMP(label_3_3) label_3_5: $ => E :MLOAD(SP) @@ -58583,8 +58638,9 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD + $ => B :MLOAD(SP + 64) ${ E >> 32 } => E - CTX :MSTORE(MEM:E + 28) + B :MSTORE(MEM:E + 28) $ => E :MLOAD(SP) 4294967296n => B 0 => D @@ -58594,9 +58650,9 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => D :MLOAD(SP + 64) + $ => B :MLOAD(SP + 72) ${ E >> 32 } => E - D :MSTORE(MEM:E + 24) + B :MSTORE(MEM:E + 24) $ => E :MLOAD(SP) 4294967296n => B 0 => D @@ -58606,9 +58662,9 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => C :MLOAD(SP + 72) + $ => A :MLOAD(SP + 80) ${ E >> 32 } => E - C :MSTORE(MEM:E + 20) + A :MSTORE(MEM:E + 20) $ => E :MLOAD(SP) 4294967296n => B 0 => D @@ -58618,7 +58674,7 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => A :MLOAD(SP + 80) + $ => A :MLOAD(SP + 88) ${ E >> 32 } => E A :MSTORE(MEM:E + 16) $ => E :MLOAD(SP) @@ -58630,7 +58686,7 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => B :MLOAD(SP + 88) + $ => B :MLOAD(SP + 96) ${ E >> 32 } => E B :MSTORE(MEM:E + 12) $ => E :MLOAD(SP) @@ -58642,9 +58698,9 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => C :MLOAD(SP + 96) + $ => B :MLOAD(SP + 104) ${ E >> 32 } => E - C :MSTORE(MEM:E + 8) + B :MSTORE(MEM:E + 8) $ => E :MLOAD(SP) 4294967296n => B 0 => D @@ -58654,9 +58710,9 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => A :MLOAD(SP + 104) + $ => B :MLOAD(SP + 112) ${ E >> 32 } => E - A :MSTORE(MEM:E + 4) + B :MSTORE(MEM:E + 4) $ => E :MLOAD(SP) 4294967296n => B 0 => D @@ -58666,15 +58722,14 @@ label_3_7: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => B :MLOAD(SP + 112) + $ => B :MLOAD(SP + 120) ${ E >> 32 } => E B :MSTORE(MEM:E) $ => C :MLOAD(SP - 1) $ => D :MLOAD(SP - 2) $ => E :MLOAD(SP - 3) $ => B :MLOAD(SP - 4) - $ => CTX :MLOAD(SP - 5) - SP - 484 => SP + SP - 483 => SP $ => RR :MLOAD(SP - 1) SP - 1 => SP :JMP(RR) @@ -58699,12 +58754,11 @@ function_4: function_5: SP + 1 => SP RR :MSTORE(SP - 1) - SP + 12 => SP + SP + 10 => SP C :MSTORE(SP - 1) D :MSTORE(SP - 2) E :MSTORE(SP - 3) B :MSTORE(SP - 4) - CTX :MSTORE(SP - 5) A :MSTORE(SP) B :MSTORE(SP + 8) $ => A :MLOAD(fp + 16) @@ -58722,7 +58776,7 @@ function_5: 0 => A $ => A :EQ A :JMPZ(label_5_2) - $ => CTX :MLOAD(SP + 16) + $ => E :MLOAD(SP + 16) $ => C :MLOAD(SP) C :MSTORE(SP + 16) :JMP(label_5_17) @@ -58733,9 +58787,9 @@ label_5_2: 12884901888n => B ;; LoadConst32(3) $ => B :AND $ => A :MLOAD(SP) - $ => CTX :ADD + $ => D :ADD B :MSTORE(SP + 24) - CTX :MSTORE(SP + 40) + D :MSTORE(SP + 40) 0n => B ;; LoadConst32(0) $ => A :MLOAD(SP + 24) $ => A :EQ @@ -58770,8 +58824,8 @@ label_5_5: B :MSTORE(MEM:E) 4294967296n => B ;; LoadConst32(1) D => A - $ => CTX :ADD - CTX => A + $ => E :ADD + E => A $ => B :MLOAD(SP + 40) $ => A :LT 4294967296n => B @@ -58784,7 +58838,6 @@ label_5_5: A :JMPZ(label_5_6) :JMP(label_5_7) label_5_6: - CTX => E :JMP(label_5_5) label_5_7: $ => A :MLOAD(SP + 16) @@ -58834,17 +58887,17 @@ label_5_12: 0 => C ${E / B} => A E:ARITH + E => D A => B - E => CTX 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD $ => C :MLOAD(SP + 24) ${ E >> 32 } => E C :MSTORE(MEM:E) 17179869184n => B ;; LoadConst32(4) - CTX => A - $ => CTX :ADD - CTX => A + D => A + $ => E :ADD + E => A $ => B :MLOAD(SP + 16) $ => A :LT 4294967296n => B @@ -58857,18 +58910,17 @@ label_5_12: A :JMPZ(label_5_13) :JMP(label_5_14) label_5_13: - CTX => E :JMP(label_5_12) label_5_14: :JMP(label_5_16) label_5_16: 12884901888n => B ;; LoadConst32(3) $ => A :MLOAD(SP + 32) - $ => CTX :AND + $ => E :AND :JMP(label_5_17) label_5_17: 0n => B ;; LoadConst32(0) - CTX => A + E => A $ => A :EQ 4294967296n => B 0 => D @@ -58883,9 +58935,9 @@ label_5_18: :JMP(label_5_24) label_5_19: $ => A :MLOAD(SP + 16) - CTX => B - $ => E :ADD - E :MSTORE(SP + 24) + E => B + $ => B :ADD + B :MSTORE(SP + 24) A => E :JMP(label_5_20) label_5_20: @@ -58894,15 +58946,15 @@ label_5_20: 0 => C ${E / B} => A E:ARITH - E => D + E => C A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD - $ => CTX :MLOAD(SP + 8) + $ => A :MLOAD(SP + 8) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + A :MSTORE(MEM:E) 4294967296n => B ;; LoadConst32(1) - D => A + C => A $ => E :ADD E => A $ => B :MLOAD(SP + 24) @@ -58917,7 +58969,6 @@ label_5_20: A :JMPZ(label_5_21) :JMP(label_5_22) label_5_21: - CTX :MSTORE(SP + 8) :JMP(label_5_20) label_5_22: :JMP(label_5_24) @@ -58927,8 +58978,7 @@ label_5_24: $ => D :MLOAD(SP - 2) $ => E :MLOAD(SP - 3) $ => B :MLOAD(SP - 4) - $ => CTX :MLOAD(SP - 5) - SP - 12 => SP + SP - 10 => SP $ => RR :MLOAD(SP - 1) SP - 1 => SP :JMP(RR) diff --git a/cranelift/zkasm_data/generated/i32_mul_overflows.zkasm b/cranelift/zkasm_data/generated/i32_mul_overflows.zkasm index df1461db9bae..3f7605dc89ff 100644 --- a/cranelift/zkasm_data/generated/i32_mul_overflows.zkasm +++ b/cranelift/zkasm_data/generated/i32_mul_overflows.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 0n => B ;; LoadConst32(0) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/generated/memory.zkasm b/cranelift/zkasm_data/generated/memory.zkasm index 6cd7a152dd9a..e1cf5072cf07 100644 --- a/cranelift/zkasm_data/generated/memory.zkasm +++ b/cranelift/zkasm_data/generated/memory.zkasm @@ -5,15 +5,14 @@ start: function_1: SP + 1 => SP RR :MSTORE(SP - 1) - SP + 7 => SP + SP + 5 => SP C :MSTORE(SP - 1) D :MSTORE(SP - 2) E :MSTORE(SP - 3) B :MSTORE(SP - 4) - CTX :MSTORE(SP - 5) - CTX :MSTORE(SP) 0n => E ;; LoadConst32(0) - 8589934592n => CTX ;; LoadConst32(2) + 8589934592n => D ;; LoadConst32(2) + D :MSTORE(SP) 4294967296n => B 0 => D 0 => C @@ -22,10 +21,12 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD + $ => D :MLOAD(SP) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + D :MSTORE(MEM:E) 34359738368n => E ;; LoadConst32(8) - 12884901888n => CTX ;; LoadConst32(3) + 12884901888n => B ;; LoadConst32(3) + B :MSTORE(SP) 4294967296n => B 0 => D 0 => C @@ -34,8 +35,9 @@ function_1: A => B 0 => A ;; LoadExtName(User(userextname0)) $ => E :ADD + $ => B :MLOAD(SP) ${ E >> 32 } => E - CTX :MSTORE(MEM:E) + B :MSTORE(MEM:E) 0n => E ;; LoadConst32(0) 4294967296n => B 0 => D @@ -47,7 +49,7 @@ function_1: $ => E :ADD ${ E >> 32 } => E $ => A :MLOAD(MEM:E) - A => CTX + A :MSTORE(SP) 34359738368n => E ;; LoadConst32(8) 4294967296n => B 0 => D @@ -59,17 +61,15 @@ function_1: $ => E :ADD ${ E >> 32 } => E $ => B :MLOAD(MEM:E) - CTX => A + $ => A :MLOAD(SP) $ => A :ADD 21474836480n => B ;; LoadConst32(5) - $ => CTX :MLOAD(SP) B :ASSERT $ => C :MLOAD(SP - 1) $ => D :MLOAD(SP - 2) $ => E :MLOAD(SP - 3) $ => B :MLOAD(SP - 4) - $ => CTX :MLOAD(SP - 5) - SP - 7 => SP + SP - 5 => SP $ => RR :MLOAD(SP - 1) SP - 1 => SP :JMP(RR) diff --git a/cranelift/zkasm_data/generated/mul.zkasm b/cranelift/zkasm_data/generated/mul.zkasm index e79cf10cda9c..b38acccf425b 100644 --- a/cranelift/zkasm_data/generated/mul.zkasm +++ b/cranelift/zkasm_data/generated/mul.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 8589934587705032704n => B ;; LoadConst32(1999999999) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_1.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_1.zkasm index 39465907c722..a3531de8b832 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_1.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_1.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 4294967296n => B ;; LoadConst32(1) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_2.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_2.zkasm index 2ec8c9ba1369..74b04ebf9fec 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_2.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_2.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 0n => B ;; LoadConst32(0) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_3.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_3.zkasm index b30bcde38c8f..2b1a5650e01b 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_3.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_3.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 4294967296n => B ;; LoadConst32(1) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_4.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_4.zkasm index dfdd8f08f50b..81ce3349eddf 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_4.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_4.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 0n => B ;; LoadConst32(0) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_5.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_5.zkasm index 850133815c57..8fd10363b460 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_5.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_5.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 0n => B ;; LoadConst32(0) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_6.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_6.zkasm index 150897b58fd2..c5a9bdefd048 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_6.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_6.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 9223372036854775808n => B ;; LoadConst32(2147483648) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_7.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_7.zkasm index 9f5551c75392..57b47601de76 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_7.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_7.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 9223372041149743104n => B ;; LoadConst32(2147483649) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_8.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_8.zkasm index ce72199c7230..d222a31b6e7d 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_8.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_8.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 3859149955088252928n => B ;; LoadConst32(898528368) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i32/generated/mul_9.zkasm b/cranelift/zkasm_data/spectest/i32/generated/mul_9.zkasm index 674a73892f4e..65618303b612 100644 --- a/cranelift/zkasm_data/spectest/i32/generated/mul_9.zkasm +++ b/cranelift/zkasm_data/spectest/i32/generated/mul_9.zkasm @@ -19,8 +19,8 @@ function_1: ${E / B} => A E:ARITH $ => B :MLOAD(SP) - ${A * B} => E :ARITH - E => A + ${A * B} => B :ARITH + B => A 4294967296n => B ;; LoadConst32(1) B :ASSERT $ => C :MLOAD(SP - 1) diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_1.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_1.zkasm new file mode 100644 index 000000000000..9eceb0bf3603 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_1.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 1n => A ;; LoadConst64 + A => D + 1n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 2n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_10.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_10.zkasm new file mode 100644 index 000000000000..dc7aa688d05f --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_10.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 12379676934707509257n => A ;; LoadConst64 + A => D + 18446744073709551597n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 14916262237559758314n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_11.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_11.zkasm new file mode 100644 index 000000000000..d9fb212a4fa3 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_11.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 12380715672649826460n => A ;; LoadConst64 + A => D + 9223372036854775871n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 6190357836324913230n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_12.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_12.zkasm new file mode 100644 index 000000000000..55384b66f919 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_12.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 1n => A ;; LoadConst64 + A => D + 63n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 9223372036854775808n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_13.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_13.zkasm new file mode 100644 index 000000000000..f38a7f333fe9 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_13.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 9223372036854775808n => A ;; LoadConst64 + A => D + 1n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 1n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_2.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_2.zkasm new file mode 100644 index 000000000000..18f857df665b --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_2.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 1n => A ;; LoadConst64 + A => D + 0n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 1n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_3.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_3.zkasm new file mode 100644 index 000000000000..781835129a1c --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_3.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 18446744073709551615n => A ;; LoadConst64 + A => D + 1n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 18446744073709551615n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_4.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_4.zkasm new file mode 100644 index 000000000000..ea7785b35d79 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_4.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 1n => A ;; LoadConst64 + A => D + 64n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 1n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_5.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_5.zkasm new file mode 100644 index 000000000000..c87354b7e36d --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_5.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 12379718583323101902n => A ;; LoadConst64 + A => D + 1n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 6312693092936652189n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_6.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_6.zkasm new file mode 100644 index 000000000000..d94a32fbb1e1 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_6.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 18302628889324683264n => A ;; LoadConst64 + A => D + 4n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 16140901123551657999n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_7.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_7.zkasm new file mode 100644 index 000000000000..b6b1d046631f --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_7.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 12379570969274382345n => A ;; LoadConst64 + A => D + 53n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 87109505680009935n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_8.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_8.zkasm new file mode 100644 index 000000000000..45a20f78b451 --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_8.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 12380715672649826460n => A ;; LoadConst64 + A => D + 63n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 6190357836324913230n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/generated/rotl_9.zkasm b/cranelift/zkasm_data/spectest/i64/generated/rotl_9.zkasm new file mode 100644 index 000000000000..abb37b2d0d9d --- /dev/null +++ b/cranelift/zkasm_data/spectest/i64/generated/rotl_9.zkasm @@ -0,0 +1,58 @@ +start: + zkPC + 2 => RR + :JMP(function_1) + :JMP(finalizeExecution) +function_1: + SP + 1 => SP + RR :MSTORE(SP - 1) + SP + 6 => SP + C :MSTORE(SP - 1) + D :MSTORE(SP - 2) + E :MSTORE(SP - 3) + B :MSTORE(SP - 4) + 12379570969274382345n => A ;; LoadConst64 + A => D + 245n => A ;; LoadConst64 + 63n => B ;; LoadConst64 + $ => C :AND + D => A + C :MSTORE(SP) + $ => E :MLOAD(SP) +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + 0 => C + $${var _mul = A * B} + ${_mul >> 64} => D + ${_mul} => E :ARITH + A => D + E :MSTORE(SP + 8) + 64n => A ;; LoadConst32 + $ => B :MLOAD(SP) + $ => E :SUB + D => A +;;NEED_INCLUDE: 2-exp + zkPC + 2 => RR + :JMP(@two_power + E) + A => E + 0 => D + ${E / B} => A + ${E % B} => C + E :ARITH + A => B + $ => A :MLOAD(SP + 8) + $ => A :OR + 87109505680009935n => B ;; LoadConst64 + B :ASSERT + $ => C :MLOAD(SP - 1) + $ => D :MLOAD(SP - 2) + $ => E :MLOAD(SP - 3) + $ => B :MLOAD(SP - 4) + SP - 6 => SP + $ => RR :MLOAD(SP - 1) + SP - 1 => SP + :JMP(RR) +finalizeExecution: + ${beforeLast()} :JMPN(finalizeExecution) + :JMP(start) +INCLUDE "helpers/2-exp.zkasm" \ No newline at end of file diff --git a/cranelift/zkasm_data/spectest/i64/state.csv b/cranelift/zkasm_data/spectest/i64/state.csv index 3250c4d2381b..4e8bd97bfe38 100644 --- a/cranelift/zkasm_data/spectest/i64/state.csv +++ b/cranelift/zkasm_data/spectest/i64/state.csv @@ -285,19 +285,19 @@ rem_u_6,pass,27 rem_u_7,pass,27 rem_u_8,pass,27 rem_u_9,pass,27 -rotl_1,compilation failed, -rotl_10,compilation failed, -rotl_11,compilation failed, -rotl_12,compilation failed, -rotl_13,compilation failed, -rotl_2,compilation failed, -rotl_3,compilation failed, -rotl_4,compilation failed, -rotl_5,compilation failed, -rotl_6,compilation failed, -rotl_7,compilation failed, -rotl_8,compilation failed, -rotl_9,compilation failed, +rotl_1,pass,51 +rotl_10,pass,51 +rotl_11,pass,51 +rotl_12,pass,51 +rotl_13,pass,51 +rotl_2,runtime error, +rotl_3,pass,51 +rotl_4,runtime error, +rotl_5,pass,51 +rotl_6,pass,51 +rotl_7,pass,51 +rotl_8,pass,51 +rotl_9,pass,51 rotr_1,compilation failed, rotr_10,compilation failed, rotr_11,compilation failed, diff --git a/docs/zkasm/test_summary.csv b/docs/zkasm/test_summary.csv index 3a08e21e44cf..c1d2914e389e 100644 --- a/docs/zkasm/test_summary.csv +++ b/docs/zkasm/test_summary.csv @@ -4,4 +4,4 @@ cranelift/zkasm_data/benchmarks/fibonacci,3,3,282056 cranelift/zkasm_data/benchmarks/sha256,0,1,0 cranelift/zkasm_data/spectest/conversions,8,24,186 cranelift/zkasm_data/spectest/i32,287,364,9683 -cranelift/zkasm_data/spectest/i64,280,374,7648 +cranelift/zkasm_data/spectest/i64,291,374,8209