(module (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $none_=>_i32 (func (result i32))) (import "spectest" "print" (func $print (param i32))) (memory $0 1 1) (export "mem" (memory $0)) (start $main) (func $check (result i32) (if (i32.ge_u (i32.load (i32.const 4) ) (i32.const 48) ) (unreachable) ) (i32.store (i32.const 4) (i32.add (i32.load (i32.const 4) ) (i32.const 4) ) ) (call $print (i32.sub (i32.const 0) (i32.load offset=4 (i32.load (i32.const 4) ) ) ) ) (i32.load offset=4 (i32.load (i32.const 4) ) ) ) (func $main (local $0 i32) (local $1 i32) (block (block (block (block (block (block (block (call $print (i32.const 0) ) (local.set $0 (call $check) ) ) (drop (i32.const 10) ) ) (block (call $print (i32.const 1) ) (local.set $0 (call $check) ) ) ) (drop (i32.const 11) ) ) (block (block (call $print (i32.const 1) ) (local.set $0 (call $check) ) ) (block (call $print (i32.const 1) ) (local.set $0 (call $check) ) ) ) ) (drop (i32.const 12) ) ) (block (call $print (i32.const 1) ) (local.set $0 (call $check) ) ) ) ) )