(module ;; This module defines minimal functions which loop on a single instruction (as ;; much as possible, sometimes a context needs to be set up). ;; Its purpose is to measure energy assignment of single instructions via benchmarks. ;; The idea is to run the infinite loop with a pre-defined amount of energy and benchmark termination time. ;; This is done in the `benches/wasm.rs` file. (global $g1 i32 (i32.const 13)) (global $g2 i64 (i64.const 13)) (type $empty (func)) (type $large_100 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32))) (func $large_100_return (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)) ;; execute n iterations of the loop, where n is the given parameter. (func $loop (export "loop") (param i32) (loop $loop (local.set 0 (i32.mul (local.get 0) (i32.const 17))) (br $loop) ) ) ;; infinite empty loop (func (export "empty_loop") (loop $loop (br $loop) ) ) ;; infinite empty loop with br.table (func (export "br.table_20") (loop $loop (i32.const 8) (br_table $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop $loop) ) ) ;; infinite empty loop with br_if with success (func (export "empty_loop_br_if_success") (loop $loop (i32.const 1) (br_if $loop) ) ) ;; infinite empty loop with br_if with failure (func (export "empty_loop_br_if_fail") (loop $loop (i32.const 0) (br_if $loop) (br $loop) ) ) ;; a function with no arguments that immediately returns. (func $just_return) ;; a function with no arguments and 100 locals that immediately returns. (func $just_return_100_locals (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) ) ;; call the previous function in an infinite loop (func (export "call_empty_function") (loop $loop (call $just_return) (br $loop) ) ) ;; infinite loop with a nested block (func (export "block") (loop $loop (block $block (br $loop) ) ) ) ;; infinite loop with 10 nested blocks (func (export "block_10") (loop $loop (block (block (block (block (block (block (block (block (block (block (br $loop)))))))))))) ) ;; infinite loop with 10 nested loops (func (export "loop_10") (loop $loop (loop (loop (loop (loop (loop (loop (loop (loop (loop (loop (br $loop)))))))))))) ) (func (export "drop") (loop $loop (i32.const 113123) drop (br $loop) ) ) ;; select the first (func (export "select_1") (loop $loop (i32.const 113123) (i32.const 1) (i32.const 1) select (br $loop) ) ) ;; select the second (func (export "select_2") (loop $loop (i32.const 113123) (i32.const 1) (i32.const 0) select (br $loop) ) ) (func (export "local.get_i32") (param i32) (loop $loop (local.get 0) (br $loop) ) ) (func (export "local.get_i64") (param i64) (loop $loop (local.get 0) (br $loop) ) ) (func (export "local.set_i32") (param i32) (loop $loop (local.set 0 (i32.const 33)) (br $loop) ) ) (func (export "local.set_i64") (param i64) (loop $loop (local.set 0 (i64.const 123)) (br $loop) ) ) (func (export "global.get_i32") (loop $loop (global.get $g1) (br $loop) ) ) (func (export "global.get_i64") (loop $loop (global.get $g2) (br $loop) ) ) ;; memory instructions (func (export "i32.load") (loop $loop (i32.load (i32.const 1234)) (br $loop) ) ) ;; memory instructions (func (export "i32.load.offset") (loop $loop (i32.load offset=1234 (i32.const 0)) (br $loop) ) ) (func (export "i64.load") (loop $loop (i64.load (i32.const 1234)) (br $loop) ) ) (func (export "i64.load.offset") (loop $loop (i64.load offset=1234 (i32.const 0)) (br $loop) ) ) (func (export "i32.load8_u") (loop $loop (i32.load8_u (i32.const 1234)) (br $loop) ) ) (func (export "i32.load8_s") (loop $loop (i32.load8_s (i32.const 1234)) (br $loop) ) ) (func (export "i32.load16_u") (loop $loop (i32.load16_u (i32.const 1234)) (br $loop) ) ) (func (export "i32.load16_s") (loop $loop (i32.load16_s (i32.const 1234)) (br $loop) ) ) (func (export "i64.load8_u") (loop $loop (i64.load8_u (i32.const 1234)) (br $loop) ) ) (func (export "i64.load8_s") (loop $loop (i64.load8_s (i32.const 1234)) (br $loop) ) ) (func (export "i64.load16_u") (loop $loop (i64.load16_u (i32.const 1234)) (br $loop) ) ) (func (export "i64.load16_s") (loop $loop (i64.load16_s (i32.const 1234)) (br $loop) ) ) (func (export "i64.load32_u") (loop $loop (i64.load32_u (i32.const 1234)) (br $loop) ) ) (func (export "i64.load32_s") (loop $loop (i64.load32_s (i32.const 1234)) (br $loop) ) ) ;; memory stores (func (export "i32.store") (loop $loop (i32.store (i32.const 1234) (i32.const 3333333333)) (br $loop) ) ) (func (export "i64.store") (loop $loop (i64.store (i32.const 1234) (i64.const 13123123123123)) (br $loop) ) ) (func (export "i32.store8") (loop $loop (i32.store8 (i32.const 1234) (i32.const 3333333333)) (br $loop) ) ) (func (export "i32.store16") (loop $loop (i32.store16 (i32.const 1234) (i32.const 3333333333)) (br $loop) ) ) (func (export "i64.store8") (loop $loop (i64.store8 (i32.const 1234) (i64.const 13123123123123)) (br $loop) ) ) (func (export "i64.store16") (loop $loop (i64.store16 (i32.const 1234) (i64.const 13123123123123)) (br $loop) ) ) (func (export "i64.store32") (loop $loop (i64.store32 (i32.const 1234) (i64.const 13123123123123)) (br $loop) ) ) (func (export "memory.size") (loop $loop (memory.size) (br $loop) ) ) (func (export "memory.grow") (loop $loop (memory.grow (i32.const 0)) (br $loop) ) ) (func (export "memory.grow_1_page") (loop $loop (memory.grow (i32.const 1)) (br $loop) ) ) (func (export "i32.const") (loop $loop (i32.const 1) (br $loop) ) ) (func (export "i64.const") (loop $loop (i64.const 1) (br $loop) ) ) (func (export "i32.eqz") (loop $loop (i32.eqz (i32.const 13)) (br $loop) ) ) (func (export "i32.eq") (loop $loop (i32.eq (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.ne") (loop $loop (i32.ne (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.lt_s") (loop $loop (i32.lt_s (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.lt_u") (loop $loop (i32.lt_u (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.gt_s") (loop $loop (i32.gt_s (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.gt_u") (loop $loop (i32.gt_u (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.le_s") (loop $loop (i32.le_s (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.le_u") (loop $loop (i32.le_u (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.ge_s") (loop $loop (i32.ge_s (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i32.ge_u") (loop $loop (i32.ge_u (i32.const 13) (i32.const 14)) (br $loop) ) ) (func (export "i64.eqz") (loop $loop (i64.eqz (i64.const 13)) (br $loop) ) ) (func (export "i64.eq") (loop $loop (i64.eq (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.ne") (loop $loop (i64.ne (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.lt_s") (loop $loop (i64.lt_s (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.lt_u") (loop $loop (i64.lt_u (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.gt_s") (loop $loop (i64.gt_s (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.gt_u") (loop $loop (i64.gt_u (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.le_s") (loop $loop (i64.le_s (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.le_u") (loop $loop (i64.le_u (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.ge_s") (loop $loop (i64.ge_s (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i64.ge_u") (loop $loop (i64.ge_u (i64.const 13) (i64.const 14)) (br $loop) ) ) (func (export "i32.clz") (loop $loop (i32.clz (i32.const 12312313)) (br $loop) ) ) (func (export "i32.ctz") (loop $loop (i32.ctz (i32.const 12312313)) (br $loop) ) ) (func (export "i32.popcnt") (loop $loop (i32.popcnt (i32.const 12312313)) (br $loop) ) ) (func (export "i32.add") (loop $loop (i32.add (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i32.sub") (loop $loop (i32.sub (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i32.mul") (loop $loop (i32.mul (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i32.div_s") (loop $loop (i32.div_s (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i32.div_u") (loop $loop (i32.div_u (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i32.rem_s") (loop $loop (i32.rem_s (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i32.rem_u") (loop $loop (i32.rem_u (i32.const 12312313) (i32.const 1231)) (br $loop) ) ) (func (export "i64.clz") (loop $loop (i64.clz (i64.const 12312313)) (br $loop) ) ) (func (export "i64.ctz") (loop $loop (i64.ctz (i64.const 12312313)) (br $loop) ) ) (func (export "i64.popcnt") (loop $loop (i64.popcnt (i64.const 12312313)) (br $loop) ) ) (func (export "i64.add") (loop $loop (i64.add (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i64.sub") (loop $loop (i64.sub (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i64.mul") (loop $loop (i64.mul (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i64.div_s") (loop $loop (i64.div_s (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i64.div_u") (loop $loop (i64.div_u (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i64.rem_s") (loop $loop (i64.rem_s (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i64.rem_u") (loop $loop (i64.rem_u (i64.const 12312313) (i64.const 1231)) (br $loop) ) ) (func (export "i32.wrap_i64") (loop $loop (i32.wrap_i64 (i64.const 13123)) (br $loop) ) ) (func (export "i32.extend8_s") (loop $loop (i32.extend8_s (i32.const 312312)) (br $loop) ) ) (func (export "i32.extend16_s") (loop $loop (i32.extend16_s (i32.const 312312)) (br $loop) ) ) (func (export "i64.extend8_s") (loop $loop (i64.extend8_s (i64.const 312312)) (br $loop) ) ) (func (export "i64.extend16_s") (loop $loop (i64.extend16_s (i64.const 312312)) (br $loop) ) ) (func (export "i64.extend32_s") (loop $loop (i64.extend32_s (i64.const 312312)) (br $loop) ) ) ;; indirectly call an empty function with 100 arguments (func (export "call_empty_function_100") (loop $loop (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (call $large_100_return) (br $loop) ) ) (func (export "call_empty_function_100_locals") (loop $loop (call $just_return_100_locals) (br $loop) ) ) ;; indirectly call an empty function with 100 arguments (func (export "call_indirect_empty_function_100") (loop $loop (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (i32.const 0) (call_indirect $table (type $large_100) (i32.const 900)) (br $loop) ) ) ;; indirectly call an empty function with no arguments (func (export "call_indirect_empty_function") (loop $loop (call_indirect $table (type $empty) (i32.const 400)) (br $loop) ) ) (table $table (export "table") 1000 1000 funcref) ;; the indirect call table is initialized with 503 elements of $just_return and 40? elements of $large_100_return (elem (i32.const 0) $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $just_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return $large_100_return) (memory (export "memory") 10) ;; 10 pages of initial memory. ) ;; Local Variables: ;; compile-command: "wat2wasm loop-energy.wat" ;; End: