(module (type $i32_i32_=>_none (func (param i32 i32))) (type $none_=>_i32 (func (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i64_=>_none (func (param i32 i64))) (type $none_=>_none (func)) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i64_i64_=>_none (func (param i32 i32 i64 i64))) (type $i32_i64_f32_f64_=>_none (func (param i32 i64 f32 f64))) (type $none_=>_i64 (func (result i64))) (type $i64_=>_i64 (func (param i64) (result i64))) (type $i32_i64_f32_=>_none (func (param i32 i64 f32))) (type $f32_=>_none (func (param f32))) (type $f64_=>_none (func (param f64))) (type $i32_i32_i32_f64_=>_none (func (param i32 i32 i32 f64))) (type $i32_i32_f64_f64_=>_none (func (param i32 i32 f64 f64))) (type $i32_i64_f64_i32_=>_none (func (param i32 i64 f64 i32))) (type $f32_f64_=>_none (func (param f32 f64))) (type $f64_f32_=>_none (func (param f64 f32))) (type $f64_f64_f32_f32_=>_none (func (param f64 f64 f32 f32))) (type $none_=>_f64 (func (result f64))) (memory $0 0) (export "load-off-2" (func $load-off-2)) (func $f (param $i1 i32) (param $i2 i64) (drop (i32.and (local.get $i1) (i32.const 1) ) ) (drop (i32.or (local.get $i1) (i32.const 3) ) ) (drop (i32.xor (local.get $i1) (i32.const 5) ) ) (drop (i32.mul (local.get $i1) (i32.const -10) ) ) (drop (i32.mul (local.get $i1) (i32.const -133169153) ) ) (if (i32.eqz (local.get $i1) ) (drop (i32.const 10) ) ) (if (local.get $i1) (drop (i32.const 12) ) (drop (i32.const 11) ) ) (if (i64.eqz (local.get $i2) ) (drop (i32.const 11) ) (drop (i32.const 12) ) ) (drop (i32.le_u (i32.const 1) (i32.const 2) ) ) (drop (i32.lt_u (i32.const 1) (i32.const 2) ) ) (drop (i32.ge_u (i32.const 1) (i32.const 2) ) ) (drop (i32.gt_u (i32.const 1) (i32.const 2) ) ) (drop (i32.le_u (i32.const 1) (i32.const 2) ) ) (drop (i32.lt_u (i32.const 1) (i32.const 2) ) ) (drop (i32.ge_u (i32.const 1) (i32.const 2) ) ) (drop (i32.gt_u (i32.const 1) (i32.const 2) ) ) (drop (i32.eqz (f32.gt (f32.const 1) (f32.const 2) ) ) ) (drop (i32.eqz (f32.ge (f32.const 1) (f32.const 2) ) ) ) (drop (i32.eqz (f32.lt (f32.const 1) (f32.const 2) ) ) ) (drop (i32.eqz (f32.le (f32.const 1) (f32.const 2) ) ) ) (drop (i32.eqz (f64.gt (f64.const 1) (f64.const 2) ) ) ) (drop (i32.eqz (f64.ge (f64.const 1) (f64.const 2) ) ) ) (drop (i32.eqz (f64.lt (f64.const 1) (f64.const 2) ) ) ) (drop (i32.eqz (f64.le (f64.const 1) (f64.const 2) ) ) ) (drop (f32.ne (f32.const 1) (f32.const 2) ) ) (drop (f32.eq (f32.const 1) (f32.const 2) ) ) (drop (f64.ne (f64.const 1) (f64.const 2) ) ) (drop (f64.eq (f64.const 1) (f64.const 2) ) ) (drop (i32.eqz (i32.const 100) ) ) (drop (i32.eq (i32.const 0) (i32.const 100) ) ) (drop (i32.eqz (i32.const 0) ) ) (drop (i64.eqz (i64.const 100) ) ) (drop (i64.eq (i64.const 0) (i64.const 100) ) ) (drop (i64.eqz (i64.const 0) ) ) (if (i32.const 123) (nop) ) (drop (select (i32.const 102) (i32.const 101) (local.get $i1) ) ) (drop (select (local.tee $i1 (i32.const 103) ) (local.tee $i1 (i32.const 104) ) (i32.eqz (local.get $i1) ) ) ) (drop (i32.const 0) ) ) (func $load-store (drop (i32.load8_u (i32.const 0) ) ) (drop (i32.load8_u (i32.const 1) ) ) (drop (i32.and (i32.load8_s (i32.const 2) ) (i32.const 254) ) ) (drop (i32.and (i32.load8_u (i32.const 3) ) (i32.const 1) ) ) (drop (i32.load16_u (i32.const 4) ) ) (drop (i32.load16_u (i32.const 5) ) ) (drop (i32.and (i32.load16_s (i32.const 6) ) (i32.const 65534) ) ) (drop (i32.and (i32.load16_u (i32.const 7) ) (i32.const 1) ) ) (i32.store8 (i32.const 8) (i32.const -1) ) (i32.store8 (i32.const 9) (i32.and (i32.const -2) (i32.const 254) ) ) (i32.store16 (i32.const 10) (i32.const -3) ) (i32.store16 (i32.const 11) (i32.and (i32.const -4) (i32.const 65534) ) ) (i64.store8 (i32.const 11) (i64.const 1) ) (i64.store16 (i32.const 11) (i64.const 2) ) (i64.store32 (i32.const 11) (i64.const 3) ) (i32.store8 (i32.const 7) (i32.const 255) ) (i32.store8 (i32.const 8) (i32.const 255) ) (i32.store8 (i32.const 9) (i32.const 0) ) (i32.store16 (i32.const 10) (i32.const 65535) ) (i32.store16 (i32.const 11) (i32.const 0) ) (i32.store16 (i32.const 13) (i32.const 65535) ) (i32.store (i32.const 14) (i32.const 65536) ) (i64.store8 (i32.const 8) (i64.const 255) ) (i64.store8 (i32.const 9) (i64.const 0) ) (i64.store16 (i32.const 10) (i64.const 65535) ) (i64.store16 (i32.const 11) (i64.const 0) ) (i64.store32 (i32.const 12) (i64.const 4294967295) ) (i64.store32 (i32.const 13) (i64.const 0) ) (i64.store (i32.const 14) (i64.const 4294967296) ) ) (func $and-neg1 (drop (i32.const 100) ) (drop (i32.and (i32.const 100) (i32.const 1) ) ) ) (func $and-pos1 (drop (i32.eqz (i32.const 1000) ) ) (drop (i32.eqz (i32.const 1000) ) ) (drop (i32.and (i32.const 100) (i32.const 1) ) ) (drop (i32.lt_u (i32.const 2000) (i32.const 3000) ) ) ) (func $canonicalize (param $x i32) (param $y i32) (param $fx f64) (param $fy f64) (drop (i32.and (unreachable) (i32.const 1) ) ) (drop (i32.and (i32.const 1) (unreachable) ) ) (drop (i32.div_s (unreachable) (i32.const 1) ) ) (drop (i32.div_s (i32.const 1) (unreachable) ) ) (drop (i32.and (i32.const 1) (i32.const 2) ) ) (drop (i32.and (local.get $x) (i32.const 3) ) ) (drop (i32.and (local.get $x) (i32.const 4) ) ) (drop (i32.and (local.get $x) (local.get $y) ) ) (drop (i32.and (local.get $x) (local.get $y) ) ) (drop (i32.and (local.tee $x (i32.const -4) ) (local.get $y) ) ) (drop (i32.and (block $block (result i32) (i32.const -5) ) (local.get $x) ) ) (drop (i32.and (block $block3 (result i32) (i32.const -6) ) (local.get $x) ) ) (drop (i32.and (block $block4 (result i32) (i32.const 5) ) (loop $loop-in (result i32) (i32.const 6) ) ) ) (drop (i32.and (block $block6 (result i32) (i32.const 8) ) (loop $loop-in5 (result i32) (i32.const 7) ) ) ) (drop (i32.and (block $block8 (result i32) (i32.const 10) ) (loop $loop-in7 (result i32) (call $and-pos1) (i32.const 9) ) ) ) (drop (i32.and (block $block10 (result i32) (call $and-pos1) (i32.const 12) ) (loop $loop-in9 (result i32) (i32.const 11) ) ) ) (drop (i32.and (loop $loop-in11 (result i32) (call $and-pos1) (i32.const 13) ) (block $block12 (result i32) (call $and-pos1) (i32.const 14) ) ) ) (drop (i32.and (block $block13 (result i32) (call $and-pos1) (i32.const 14) ) (loop $loop-in14 (result i32) (call $and-pos1) (i32.const 13) ) ) ) (drop (i32.and (block $block15 (result i32) (i32.const 15) ) (local.get $x) ) ) (drop (i32.and (block $block16 (result i32) (i32.const 15) ) (local.get $x) ) ) (drop (i32.and (i32.gt_u (i32.const 16) (i32.const 17) ) (i32.gt_u (i32.const 18) (i32.const 19) ) ) ) (drop (i32.and (i32.gt_u (i32.const 20) (i32.const 21) ) (i32.gt_u (i32.const 22) (i32.const 23) ) ) ) (drop (i32.lt_s (local.get $x) (i32.const 1) ) ) (drop (i32.const 0) ) (drop (i32.ne (local.get $x) (i32.const -1) ) ) (drop (f64.ne (local.get $fx) (f64.const -1) ) ) (drop (f64.gt (local.get $fx) (f64.const -2) ) ) (drop (f64.le (local.get $fx) (f64.const inf) ) ) (drop (f64.ge (local.get $fx) (f64.const nan:0x8000000000000) ) ) (drop (f64.ge (f64.const 1) (f64.const 2) ) ) (drop (i32.add (i32.ctz (local.get $x) ) (i32.ctz (local.get $y) ) ) ) (drop (i32.add (i32.ctz (local.get $y) ) (i32.ctz (local.get $x) ) ) ) (drop (i32.add (i32.ctz (local.get $x) ) (i32.eqz (local.get $y) ) ) ) (drop (i32.add (i32.ctz (local.get $y) ) (i32.eqz (local.get $x) ) ) ) ) (func $ne0 (result i32) (if (call $ne0) (nop) ) (if (call $ne0) (nop) ) (if (i32.or (call $ne0) (call $ne0) ) (nop) ) (if (i32.and (i32.ne (call $ne0) (i32.const 0) ) (i32.ne (call $ne0) (i32.const 0) ) ) (nop) ) (i32.const 1) ) (func $recurse-bool (if (if (result i32) (i32.const 1) (call $ne0) (call $ne1) ) (nop) ) (if (block $block (result i32) (nop) (call $ne0) ) (nop) ) ) (func $ne1 (result i32) (unreachable) ) (func $load-off-2 (param $0 i32) (result i32) (i32.store (i32.const 6) (local.get $0) ) (i32.store (i32.const 6) (local.get $0) ) (i32.store offset=2 (i32.add (local.get $0) (i32.const 5) ) (local.get $0) ) (i32.store offset=2 (i32.add (local.get $0) (i32.const 7) ) (local.get $0) ) (i32.store offset=2 (i32.sub (local.get $0) (i32.const 11) ) (local.get $0) ) (i32.store offset=2 (i32.sub (local.get $0) (i32.const 13) ) (local.get $0) ) (i32.store (i32.const 4) (local.get $0) ) (i32.store offset=2 (i32.const -2) (local.get $0) ) (i32.store (i32.const 25) (local.get $0) ) (i32.store offset=2 (i32.const -25) (local.get $0) ) (drop (i32.load (i32.const 8) ) ) (drop (i32.load (i32.const 8) ) ) (drop (i32.load offset=2 (i32.add (local.get $0) (i32.const 6) ) ) ) (drop (i32.load (i32.const 10) ) ) (i32.load offset=2 (i32.add (local.get $0) (i32.const 10) ) ) ) (func $sign-ext (param $0 i32) (param $1 i32) (drop (i32.eqz (i32.and (local.get $0) (i32.const 255) ) ) ) (drop (i32.eqz (i32.and (local.get $0) (i32.const 65535) ) ) ) (drop (i32.eqz (i32.and (local.get $0) (i32.const 134217727) ) ) ) (drop (i32.eq (i32.and (local.get $0) (i32.const 255) ) (i32.const 100) ) ) (drop (block (result i32) (drop (local.get $0) ) (i32.const 0) ) ) (drop (block (result i32) (drop (local.get $0) ) (i32.const 0) ) ) (drop (i32.eq (i32.and (local.get $0) (i32.const 255) ) (i32.and (local.get $1) (i32.const 255) ) ) ) (drop (i32.eq (i32.and (local.get $0) (i32.const 65535) ) (i32.and (local.get $1) (i32.const 65535) ) ) ) (drop (i32.eqz (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 23) ) ) ) (drop (i32.eqz (i32.shr_u (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) ) (drop (i32.lt_s (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) (i32.const 0) ) ) (drop (if (result i32) (i32.shr_s (i32.shl (unreachable) (i32.const 16) ) (i32.const 16) ) (i32.const 111) (i32.const 222) ) ) ) (func $sign-ext-input (param $0 i32) (param $1 i32) (drop (i32.const 100) ) (drop (i32.const 127) ) (drop (i32.shr_s (i32.shl (i32.const 128) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (unreachable) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.const 1) (i32.const 1) ) ) (drop (i32.and (i32.const 127) (i32.const 128) ) ) (drop (i32.shr_s (i32.shl (i32.and (i32.const 128) (i32.const 129) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.xor (i32.const 127) (i32.const 126) ) ) (drop (i32.shr_s (i32.shl (i32.xor (i32.const 127) (i32.const 128) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.or (i32.const 127) (i32.const 126) ) ) (drop (i32.shr_s (i32.shl (i32.or (i32.const 127) (i32.const 128) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (i32.const 32) (i32.const 26) ) (i32.const 24) ) ) (drop (i32.shl (i32.const 32) (i32.const 1) ) ) (drop (i32.shr_s (i32.shl (i32.const 32) (i32.const 27) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (i32.shr_u (i32.const 256) (i32.const 1) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.const 256) (i32.const 2) ) ) (drop (i32.shr_u (i32.const 128) (i32.const 3) ) ) (drop (i32.shr_s (i32.shl (i32.shr_u (i32.const 256) (i32.const 1) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.const 256) (i32.const 2) ) ) (drop (i32.shr_u (i32.const 128) (i32.const 3) ) ) (drop (i32.shr_s (i32.shl (i32.const -1) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.and (i32.const -1) (i32.const 2147483647) ) (i32.const 31) ) ) (drop (i32.const 0) ) (drop (f32.le (f32.const -1) (f32.const -1) ) ) (drop (i32.clz (i32.const 0) ) ) (drop (i32.shr_s (i32.shl (i32.clz (i32.const 0) ) (i32.const 26) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (i32.clz (i32.const 0) ) (i32.const 27) ) (i32.const 24) ) ) (drop (i32.wrap_i64 (i64.clz (i64.const 0) ) ) ) (drop (i32.shr_s (i32.shl (i32.wrap_i64 (i64.clz (i64.const 0) ) ) (i32.const 25) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (i32.wrap_i64 (i64.clz (i64.const 0) ) ) (i32.const 26) ) (i32.const 24) ) ) (drop (i32.eqz (i32.const -1) ) ) (drop (i32.shr_s (i32.shl (i32.shr_u (i32.wrap_i64 (i64.const -1) ) (i32.const 24) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.wrap_i64 (i64.const -1) ) (i32.const 25) ) ) (drop (i32.shr_s (i32.shl (i32.shr_u (i32.wrap_i64 (i64.extend_i32_s (i32.const -1) ) ) (i32.const 24) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.wrap_i64 (i64.extend_i32_s (i32.const -1) ) ) (i32.const 25) ) ) (drop (i32.shr_s (i32.shl (i32.xor (local.get $0) (i32.le_u (local.get $0) (i32.const 2) ) ) (i32.const 24) ) (i32.const 24) ) ) ) (func $linear-sums (param $0 i32) (param $1 i32) (drop (i32.add (i32.shl (local.get $0) (i32.const 4) ) (local.get $1) ) ) (drop (i32.add (i32.add (local.get $1) (i32.shl (local.get $0) (i32.const 3) ) ) (i32.const 12) ) ) (drop (i32.const 4) ) (drop (i32.const 18) ) (drop (i32.const 6) ) (drop (i32.const -4) ) (drop (i32.const 2) ) (drop (i32.const 1) ) (drop (i32.const 26) ) (drop (i32.const -20) ) (drop (i32.const 22) ) (drop (i32.add (i32.shl (i32.const 1) (local.get $0) ) (i32.const 14) ) ) (drop (i32.sub (i32.shl (local.get $1) (i32.const 3) ) (i32.const 66) ) ) (drop (i32.const 44) ) (drop (i32.add (i32.mul (local.get $0) (i32.const 10) ) (i32.const 14) ) ) (drop (i32.add (i32.shl (local.get $0) (i32.const 1) ) (i32.const 34) ) ) (drop (local.get $0) ) ) (func $almost-sign-ext (param $0 i32) (drop (i32.shr_s (i32.shl (i32.const 100) (i32.const 25) ) (i32.const 24) ) ) (drop (i32.shl (i32.const 50) (i32.const 1) ) ) ) (func $squaring (param $0 i32) (param $1 i32) (drop (i32.and (local.get $0) (i32.const 8) ) ) (drop (i32.and (local.get $0) (i32.const 11) ) ) (drop (i32.and (local.get $0) (i32.const 8) ) ) (drop (i32.or (local.get $0) (i32.const 203) ) ) (drop (i32.shl (local.get $0) (i32.const 19) ) ) (drop (i32.shr_s (local.get $0) (i32.const 19) ) ) (drop (i32.shr_u (local.get $0) (i32.const 19) ) ) (drop (i32.shr_u (i32.shr_s (local.get $0) (i32.const 11) ) (i32.const 8) ) ) ) (func $sign-ext-ne (param $0 i32) (param $1 i32) (drop (block (result i32) (drop (local.get $0) ) (i32.const 1) ) ) (drop (block (result i32) (drop (local.get $0) ) (i32.const 1) ) ) (drop (block (result i32) (drop (local.get $0) ) (i32.const 1) ) ) (drop (i32.ne (i32.and (local.get $0) (i32.const 255) ) (i32.const 111) ) ) (drop (i32.ne (i32.and (local.get $0) (i32.const 255) ) (i32.and (local.get $1) (i32.const 255) ) ) ) ) (func $sign-ext-eqz (param $0 i32) (param $1 i32) (drop (i32.eqz (i32.and (local.get $0) (i32.const 255) ) ) ) ) (func $sign-ext-boolean (param $0 i32) (param $1 i32) (drop (if (result i32) (i32.and (local.get $0) (i32.const 255) ) (i32.const 100) (i32.const 200) ) ) ) (func $add-sub-zero (param $0 i32) (param $1 i64) (drop (local.get $0) ) (drop (local.get $0) ) (drop (local.get $1) ) (drop (local.get $1) ) ) (func $store-signext (param $0 i32) (i32.store8 (i32.const 8) (local.get $0) ) (i32.store8 (i32.const 8) (i32.shr_s (i32.shl (local.get $0) (i32.const 25) ) (i32.const 25) ) ) (i32.store8 (i32.const 8) (local.get $0) ) (i32.store16 (i32.const 8) (local.get $0) ) (i32.store16 (i32.const 8) (i32.shr_s (i32.shl (local.get $0) (i32.const 17) ) (i32.const 17) ) ) (i32.store16 (i32.const 8) (local.get $0) ) (i32.store (i32.const 8) (i32.shr_s (i32.shl (local.get $0) (i32.const 16) ) (i32.const 16) ) ) (i32.store (i32.const 8) (i32.shr_s (i32.shl (local.get $0) (i32.const 8) ) (i32.const 8) ) ) ) (func $sign-ext-tee (param $0 i32) (param $1 i32) (drop (i32.shr_s (i32.shl (local.tee $0 (i32.const 128) ) (i32.const 24) ) (i32.const 24) ) ) (drop (local.tee $0 (i32.const 127) ) ) ) (func $sign-ext-load (param $0 i32) (param $1 i32) (drop (i32.load8_s (i32.const 256) ) ) (drop (i32.shr_s (i32.shl (i32.shr_u (i32.load8_s (i32.const 256) ) (i32.const 1) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_u (i32.load8_u (i32.const 256) ) (i32.const 1) ) ) (drop (i32.load16_s (i32.const 256) ) ) (drop (local.tee $1 (i32.load8_s (i32.const 1) ) ) ) (drop (i32.shr_s (i32.shl (local.tee $1 (i32.load8_u (i32.const 1) ) ) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.and (local.tee $1 (i32.load8_s (i32.const 1) ) ) (i32.const 255) ) ) (drop (local.tee $1 (i32.load8_u (i32.const 1) ) ) ) ) (func $mask-bits (param $0 i32) (param $1 i32) (drop (local.tee $0 (i32.const 127) ) ) (drop (local.tee $0 (i32.const 128) ) ) (drop (i32.and (local.tee $0 (i32.const 128) ) (i32.const 254) ) ) (drop (i32.and (local.tee $0 (i32.const 128) ) (i32.const 1279) ) ) (drop (i32.and (local.tee $0 (i32.const 128) ) (i32.const 1290) ) ) (drop (local.tee $0 (i32.const 128) ) ) (drop (local.tee $0 (i32.const 128) ) ) (drop (i32.and (local.tee $0 (i32.const 128) ) (i32.const 127) ) ) ) (func $local-info-zero-ext (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) (local $w i32) (local.set $x (i32.const 212) ) (drop (local.get $x) ) (local.set $y (i32.const 500) ) (drop (i32.and (local.get $y) (i32.const 255) ) ) (local.set $0 (i32.const 212) ) (drop (i32.and (local.get $0) (i32.const 255) ) ) (local.set $z (i32.const 212) ) (local.set $z (i32.const 220) ) (drop (local.get $z) ) (local.set $w (i32.const 212) ) (local.set $w (i32.const 1000) ) (drop (i32.and (local.get $w) (i32.const 255) ) ) ) (func $local-info-sign-ext-bitsize (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) (local $w i32) (local.set $x (i32.const 127) ) (drop (local.get $x) ) (local.set $y (i32.const 128) ) (drop (i32.shr_s (i32.shl (local.get $y) (i32.const 24) ) (i32.const 24) ) ) (local.set $0 (i32.const 127) ) (drop (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (local.set $z (i32.const 127) ) (local.set $z (i32.const 100) ) (drop (local.get $z) ) (local.set $w (i32.const 127) ) (local.set $w (i32.const 150) ) (drop (i32.shr_s (i32.shl (local.get $w) (i32.const 24) ) (i32.const 24) ) ) ) (func $local-info-sign-ext-already-exted (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) (local $w i32) (local.set $x (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (drop (local.get $x) ) (local.set $y (i32.shr_s (i32.shl (local.get $0) (i32.const 16) ) (i32.const 16) ) ) (drop (i32.shr_s (i32.shl (local.get $y) (i32.const 24) ) (i32.const 24) ) ) (local.set $0 (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (local.set $z (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (local.set $z (i32.shr_s (i32.shl (local.get $1) (i32.const 24) ) (i32.const 24) ) ) (drop (local.get $z) ) (local.set $w (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 24) ) ) (local.set $w (i32.shr_s (i32.shl (local.get $0) (i32.const 23) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (local.get $w) (i32.const 24) ) (i32.const 24) ) ) (drop (i32.shr_s (i32.shl (local.get $0) (i32.const 24) ) (i32.const 23) ) ) ) (func $signed-loads-fill-the-bits (param $$e i32) (result i32) (local $$0 i32) (local $$conv i32) (local.set $$0 (i32.load8_s (i32.const 1024) ) ) (local.set $$conv (i32.and (local.get $$0) (i32.const 255) ) ) (return (i32.eq (local.get $$e) (local.get $$conv) ) ) ) (func $local-info-sign-ext-already-exted-by-load (param $0 i32) (param $1 i32) (local $x i32) (local $y i32) (local $z i32) (local $w i32) (local.set $x (i32.load8_s (i32.const 1024) ) ) (drop (local.get $x) ) (local.set $y (i32.load8_u (i32.const 1024) ) ) (drop (i32.shr_s (i32.shl (local.get $y) (i32.const 24) ) (i32.const 24) ) ) (local.set $z (i32.load16_s (i32.const 1024) ) ) (drop (i32.shr_s (i32.shl (local.get $z) (i32.const 24) ) (i32.const 24) ) ) ) (func $compare-load-s-sign-extend (param $0 i32) (param $1 i32) (drop (i32.eq (i32.load8_u (local.get $0) ) (i32.and (local.get $1) (i32.const 255) ) ) ) (drop (i32.eq (i32.load8_u (local.get $0) ) (i32.and (local.get $1) (i32.const 255) ) ) ) (drop (i32.eq (i32.load8_u (local.get $0) ) (i32.shr_s (i32.shl (local.get $1) (i32.const 24) ) (i32.const 24) ) ) ) (drop (i32.eq (i32.load8_s (local.get $0) ) (i32.shr_s (i32.shl (local.get $1) (i32.const 16) ) (i32.const 16) ) ) ) (drop (i32.eq (i32.load8_u (local.get $0) ) (i32.shr_s (i32.shl (local.get $1) (i32.const 24) ) (i32.const 24) ) ) ) (drop (i32.eq (i32.load8_s (local.get $0) ) (i32.shr_s (i32.shl (local.get $1) (i32.const 16) ) (i32.const 16) ) ) ) ) (func $unsign-diff-sizes (param $x i32) (param $y i32) (result i32) (i32.ne (i32.shr_s (i32.shl (call $unsign-diff-sizes (i32.const -1) (i32.const 5) ) (i32.const 24) ) (i32.const 24) ) (i32.shr_s (i32.shl (call $unsign-diff-sizes (i32.const 1) (i32.const 2006) ) (i32.const 16) ) (i32.const 16) ) ) ) (func $unsign-same-sizes (param $x i32) (param $y i32) (result i32) (i32.ne (i32.and (call $unsign-same-sizes (i32.const -1) (i32.const 5) ) (i32.const 255) ) (i32.and (call $unsign-same-sizes (i32.const 1) (i32.const 2006) ) (i32.const 255) ) ) ) (func $fuzz-almost-sign-ext (drop (i32.shr_s (i32.shl (i32.load16_u (i32.const 2278) ) (i32.const 17) ) (i32.const 16) ) ) (drop (i32.shr_s (i32.shl (i32.load16_u (i32.const 2278) ) (i32.const 17) ) (i32.const 16) ) ) ) (func $fuzz-comp-impossible (param $x i32) (drop (block (result i32) (drop (local.get $x) ) (i32.const 0) ) ) (drop (block (result i32) (drop (local.get $x) ) (i32.const 0) ) ) (drop (i32.eq (i32.and (local.get $x) (i32.const 255) ) (i32.const 127) ) ) (drop (block (result i32) (drop (local.get $x) ) (i32.const 0) ) ) (drop (block (result i32) (drop (local.get $x) ) (i32.const 0) ) ) (drop (block (result i32) (drop (local.get $x) ) (i32.const 0) ) ) (drop (i32.eq (i32.and (local.get $x) (i32.const 255) ) (i32.const 252) ) ) ) (func $if-parallel (param $0 i32) (param $1 i32) (drop (i32.add (local.get $1) (i32.const 1) ) ) (drop (block (result i32) (drop (local.tee $0 (local.get $1) ) ) (i32.add (local.get $1) (i32.const 1) ) ) ) (drop (block (result i32) (i32.add (local.get $1) (unreachable) ) ) ) (drop (block (result i32) (drop (local.tee $0 (local.get $1) ) ) (i32.add (local.get $1) (unreachable) ) ) ) (drop (if (result i32) (unreachable) (i32.add (local.get $1) (unreachable) ) (i32.add (local.get $1) (unreachable) ) ) ) ) (func $select-parallel (param $0 i32) (param $1 i32) (drop (i32.add (local.get $1) (i32.const 1) ) ) (drop (select (local.tee $0 (local.get $1) ) (local.tee $0 (local.get $1) ) (local.get $0) ) ) (drop (block (result i32) (drop (local.tee $0 (local.get $1) ) ) (i32.add (local.get $1) (i32.const 1) ) ) ) (drop (select (local.tee $0 (local.get $1) ) (local.tee $0 (local.get $1) ) (local.tee $0 (local.get $1) ) ) ) (drop (select (local.tee $0 (local.get $1) ) (local.tee $0 (local.get $1) ) (unreachable) ) ) ) (func $zero-shifts-is-not-sign-ext (drop (i32.eq (i32.load16_s align=1 (i32.const 790656516) ) (i32.const -5431187) ) ) (drop (i32.eq (i32.shl (i32.load16_s align=1 (i32.const 790656516) ) (i32.const 1) ) (i32.const -5431187) ) ) ) (func $zero-ops (result i32) (return (i32.eq (i32.load16_s align=1 (i32.const 790656516) ) (i32.const -1337) ) ) ) (func $zero-ops-64 (result i32) (return (i64.eq (i64.load16_s align=1 (i32.const 790656516) ) (i64.const -1337) ) ) ) (func $zero-ops-64-special (result i32) (return (i32.wrap_i64 (i64.popcnt (i64.const 7377) ) ) ) ) (func $sign-ext-1-and-ne (result i32) (drop (call $sign-ext-1-and-ne) ) (i32.const 1) ) (func $neg-shifts-and-255 (result i32) (i32.and (i32.const -99) (i32.const 255) ) ) (func $neg-shifts-and-255-b (result i32) (i32.and (i32.const -2349025) (i32.const 255) ) ) (func $shifts-square-overflow (param $x i32) (result i32) (i32.shr_u (i32.shr_u (local.get $x) (i32.const 31) ) (i32.const 31) ) ) (func $shifts-square-no-overflow-small (param $x i32) (result i32) (i32.shr_u (local.get $x) (i32.const 9) ) ) (func $shifts-square-overflow-64 (param $x i64) (result i64) (i64.shr_u (i64.shr_u (local.get $x) (i64.const 63) ) (i64.const 63) ) ) (func $shifts-square-no-overflow-small-64 (param $x i64) (result i64) (i64.shr_u (local.get $x) (i64.const 9) ) ) (func $shifts-square-unreachable (param $x i32) (result i32) (i32.shr_u (i32.shr_u (unreachable) (i32.const 1031) ) (i32.const 4098) ) ) (func $mix-shifts (result i32) (i32.shr_u (i32.shl (i32.const 23) (i32.const 3) ) (i32.const 8) ) ) (func $actually-no-shifts (result i32) (i32.const 33) ) (func $less-shifts-than-it-seems (param $x i32) (result i32) (i32.const 4800) ) (func $and-popcount32 (result i32) (i32.and (i32.popcnt (i32.const -1) ) (i32.const 31) ) ) (func $and-popcount32-big (result i32) (i32.popcnt (i32.const -1) ) ) (func $and-popcount64 (result i64) (i64.and (i64.popcnt (i64.const -1) ) (i64.const 63) ) ) (func $and-popcount64-big (result i64) (i64.and (i64.popcnt (i64.const -1) ) (i64.const 127) ) ) (func $and-popcount64-bigger (result i64) (i64.and (i64.popcnt (i64.const -1) ) (i64.const 255) ) ) (func $optimizeAddedConstants-filters-through-nonzero (result i32) (i32.sub (i32.shl (i32.const -536870912) (i32.wrap_i64 (i64.const 0) ) ) (i32.const 31744) ) ) (func $optimizeAddedConstants-filters-through-nonzero-b (result i32) (i32.sub (i32.shl (i32.const -536870912) (i32.wrap_i64 (i64.const -1) ) ) (i32.const 31744) ) ) (func $return-proper-value-from-shift-left-by-zero (result i32) (if (result i32) (i32.add (loop $label$0 (result i32) (block $label$1 (br_if $label$1 (i32.load (i32.const 0) ) ) ) (i32.const -62) ) (i32.const 40) ) (i32.const 1) (i32.const 0) ) ) (func $de-morgan-2 (param $x i32) (param $y i32) (drop (i32.eqz (i32.or (local.get $x) (local.get $y) ) ) ) (drop (i32.or (i32.eqz (local.get $x) ) (i32.eqz (local.get $y) ) ) ) (drop (i32.xor (i32.eqz (local.get $x) ) (i32.eqz (local.get $y) ) ) ) (drop (i32.and (local.get $y) (i32.eqz (local.get $x) ) ) ) (drop (i32.and (i32.eqz (local.get $y) ) (local.get $x) ) ) (drop (i32.and (i32.eqz (local.get $x) ) (i32.wrap_i64 (i64.const 2) ) ) ) (drop (i32.and (i32.eqz (local.get $y) ) (i32.wrap_i64 (i64.const 1) ) ) ) ) (func $subzero1 (param $0 i32) (result i32) (i32.sub (i32.const 32) (i32.clz (local.get $0) ) ) ) (func $subzero2 (param $0 i32) (result i32) (i32.sub (i32.const 32) (i32.clz (local.get $0) ) ) ) (func $subzero3 (param $0 i32) (param $1 i32) (result i32) (i32.sub (local.get $1) (i32.clz (local.get $0) ) ) ) (func $subzero4 (param $0 i32) (param $1 i32) (result i32) (i32.sub (local.get $0) (i32.clz (local.get $1) ) ) ) (func $mul-32-power-2 (param $x i32) (result i32) (drop (call $mul-32-power-2 (i32.shl (local.get $x) (i32.const 2) ) ) ) (drop (call $mul-32-power-2 (i32.mul (local.get $x) (i32.const 5) ) ) ) (drop (call $mul-32-power-2 (local.get $x) ) ) (drop (call $mul-32-power-2 (i32.const 0) ) ) (drop (call $mul-32-power-2 (i32.mul (call $mul-32-power-2 (i32.const 123) ) (i32.const 0) ) ) ) (drop (call $mul-32-power-2 (i32.sub (i32.const 0) (local.get $x) ) ) ) (drop (call $mul-32-power-2 (i32.shl (local.get $x) (i32.const 31) ) ) ) (unreachable) ) (func $mul-64-power-2 (param $x i64) (result i64) (drop (call $mul-64-power-2 (i64.shl (local.get $x) (i64.const 2) ) ) ) (drop (call $mul-64-power-2 (i64.mul (local.get $x) (i64.const 5) ) ) ) (drop (call $mul-64-power-2 (local.get $x) ) ) (drop (call $mul-64-power-2 (i64.const 0) ) ) (drop (call $mul-64-power-2 (i64.mul (call $mul-64-power-2 (i64.const 123) ) (i64.const 0) ) ) ) (drop (call $mul-64-power-2 (i64.sub (i64.const 0) (local.get $x) ) ) ) (drop (call $mul-64-power-2 (i64.shl (local.get $x) (i64.const 63) ) ) ) (unreachable) ) (func $div-32-power-2 (param $x i32) (result i32) (drop (call $div-32-power-2 (i32.shr_u (local.get $x) (i32.const 2) ) ) ) (drop (call $div-32-power-2 (i32.div_u (local.get $x) (i32.const 5) ) ) ) (drop (call $div-32-power-2 (local.get $x) ) ) (drop (call $div-32-power-2 (i32.div_u (local.get $x) (i32.const 0) ) ) ) (drop (call $div-32-power-2 (i32.div_u (call $div-32-power-2 (i32.const 123) ) (i32.const 0) ) ) ) (drop (call $div-32-power-2 (i32.eq (local.get $x) (i32.const -1) ) ) ) (drop (call $div-32-power-2 (i32.shr_u (local.get $x) (i32.const 31) ) ) ) (unreachable) ) (func $urem-32-power-2 (param $x i32) (result i32) (drop (call $urem-32-power-2 (i32.and (local.get $x) (i32.const 3) ) ) ) (drop (call $urem-32-power-2 (i32.rem_u (local.get $x) (i32.const 5) ) ) ) (drop (call $urem-32-power-2 (i32.const 0) ) ) (drop (call $urem-32-power-2 (i32.rem_u (local.get $x) (i32.const 0) ) ) ) (drop (call $urem-32-power-2 (i32.rem_u (local.get $x) (i32.const -1) ) ) ) (drop (call $urem-32-power-2 (i32.and (local.get $x) (i32.const 2147483647) ) ) ) (drop (call $urem-32-power-2 (i32.const 0) ) ) (unreachable) ) (func $fdiv-32-power-2 (param $x f32) (drop (f32.mul (local.get $x) (f32.const 0.5) ) ) (drop (f32.mul (local.get $x) (f32.const -0.5) ) ) (drop (f32.mul (local.get $x) (f32.const 2.3283064365386963e-10) ) ) (drop (f32.mul (local.get $x) (f32.const 5.421010862427522e-20) ) ) (drop (f32.mul (local.get $x) (f32.const 8507059173023461586584365e13) ) ) (drop (f32.mul (local.get $x) (f32.const 1.1754943508222875e-38) ) ) (drop (f32.mul (local.get $x) (f32.const -8507059173023461586584365e13) ) ) (drop (f32.mul (local.get $x) (f32.const -1.1754943508222875e-38) ) ) (drop (f32.div (local.get $x) (f32.const 5.877471754111438e-39) ) ) (drop (f32.div (local.get $x) (f32.const 5.877471754111438e-39) ) ) (drop (f32.div (local.get $x) (f32.const 0) ) ) (drop (f32.div (local.get $x) (f32.const nan:0x400000) ) ) (drop (f32.div (local.get $x) (f32.const inf) ) ) (drop (f32.div (local.get $x) (f32.const -inf) ) ) ) (func $fdiv-64-power-2 (param $x f64) (drop (f64.mul (local.get $x) (f64.const 0.5) ) ) (drop (f64.mul (local.get $x) (f64.const -0.5) ) ) (drop (f64.mul (local.get $x) (f64.const 2.3283064365386963e-10) ) ) (drop (f64.mul (local.get $x) (f64.const 5.421010862427522e-20) ) ) (drop (f64.mul (local.get $x) (f64.const 4494232837155789769323262e283) ) ) (drop (f64.mul (local.get $x) (f64.const 2.2250738585072014e-308) ) ) (drop (f64.mul (local.get $x) (f64.const -4494232837155789769323262e283) ) ) (drop (f64.mul (local.get $x) (f64.const -2.2250738585072014e-308) ) ) (drop (f64.div (local.get $x) (f64.const 1.1125369292536007e-308) ) ) (drop (f64.div (local.get $x) (f64.const 8988465674311579538646525e283) ) ) (drop (f64.div (local.get $x) (f64.const 0) ) ) (drop (f64.div (local.get $x) (f64.const nan:0x8000000000000) ) ) (drop (f64.div (local.get $x) (f64.const inf) ) ) (drop (f64.div (local.get $x) (f64.const -inf) ) ) ) (func $srem-by-const (param $x i32) (param $y i64) (drop (i32.const 0) ) (drop (i64.const 0) ) (drop (i32.rem_s (local.get $x) (i32.const -2147483648) ) ) (drop (i64.rem_s (local.get $y) (i64.const -9223372036854775808) ) ) ) (func $srem-by-pot-eq-ne-zero (param $x i32) (param $y i64) (drop (i32.eqz (i32.and (local.get $x) (i32.const 3) ) ) ) (drop (i64.eqz (i64.and (local.get $y) (i64.const 3) ) ) ) (drop (i32.eqz (i32.and (local.get $x) (i32.const 3) ) ) ) (drop (i64.eqz (i64.and (local.get $y) (i64.const 3) ) ) ) (drop (i32.eqz (i32.and (local.get $x) (i32.const 3) ) ) ) (drop (i64.eqz (i64.and (local.get $y) (i64.const 1) ) ) ) (drop (i32.eqz (i32.and (local.get $x) (i32.const 3) ) ) ) (drop (i64.eqz (i64.and (local.get $y) (i64.const 3) ) ) ) (drop (i32.and (local.get $x) (i32.const 1) ) ) (drop (i32.wrap_i64 (i64.and (local.get $y) (i64.const 1) ) ) ) (drop (i32.eqz (i32.const 0) ) ) (drop (i32.eqz (i32.and (local.get $x) (i32.const 2147483647) ) ) ) (drop (i32.ne (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const 0) ) ) (drop (i64.eqz (i64.and (local.get $y) (i64.const 9223372036854775807) ) ) ) (drop (i64.ne (i64.and (local.get $y) (i64.const 9223372036854775807) ) (i64.const 0) ) ) (drop (i32.eqz (i32.rem_s (local.get $x) (i32.const 3) ) ) ) (drop (i64.eqz (i64.rem_s (local.get $y) (i64.const 3) ) ) ) ) (func $orZero (param $0 i32) (result i32) (local.get $0) ) (func $andZero (param $0 i32) (result i32) (drop (i32.const 0) ) (drop (i32.and (call $andZero (i32.const 1234) ) (i32.const 0) ) ) (unreachable) ) (func $abstract-additions (param $x32 i32) (param $x64 i64) (param $y32 f32) (param $y64 f64) (drop (local.get $x32) ) (drop (local.get $x32) ) (drop (local.get $x32) ) (drop (local.get $x32) ) (drop (local.get $x64) ) (drop (local.get $x64) ) (drop (local.get $x64) ) (drop (local.get $x64) ) (drop (i32.const 0) ) (drop (i64.const 0) ) (drop (f32.mul (local.get $y32) (f32.const 0) ) ) (drop (f64.mul (local.get $y64) (f64.const 0) ) ) (drop (local.get $x32) ) (drop (local.get $x64) ) (drop (f32.mul (local.get $y32) (f32.const 1) ) ) (drop (f64.mul (local.get $y64) (f64.const 1) ) ) (drop (i32.const 0) ) (drop (i64.const 0) ) (drop (i32.and (unreachable) (i32.const 0) ) ) (drop (i64.and (unreachable) (i64.const 0) ) ) (drop (local.get $x32) ) (drop (local.get $x32) ) (drop (local.get $x64) ) (drop (local.get $x64) ) (drop (f32.mul (local.get $y32) (f32.const 1) ) ) (drop (f64.mul (local.get $y64) (f64.const 1) ) ) (drop (f32.div (local.get $y32) (f32.const 1.2000000476837158) ) ) (drop (i32.sub (i32.const 0) (local.get $x32) ) ) (drop (i64.sub (i64.const 0) (local.get $x64) ) ) (drop (f32.sub (f32.const -0) (local.get $y32) ) ) (drop (f64.sub (f64.const -0) (local.get $y64) ) ) (drop (i32.eq (local.get $x32) (i32.const 10) ) ) (drop (i32.le_u (i32.add (local.get $x32) (i32.const 10) ) (i32.const 20) ) ) (drop (i32.eq (local.get $x32) (i32.const 30) ) ) (drop (i64.eq (local.get $x64) (i64.const 10) ) ) (drop (i32.eq (local.get $x32) (i32.const 10) ) ) (drop (i32.eq (i32.add (local.get $x32) (i32.const 10) ) (local.get $x32) ) ) (drop (i32.eq (local.get $x32) (i32.const 30) ) ) (drop (i32.eq (i32.sub (local.get $x32) (i32.const 30) ) (local.get $x32) ) ) (drop (i32.eq (i32.add (local.get $x32) (i32.const 30) ) (local.get $x32) ) ) (drop (i32.eq (i32.sub (local.get $x32) (i32.const 10) ) (local.get $x32) ) ) (drop (i32.const 1) ) ) (func $negatives-are-sometimes-better (param $x i32) (param $y i64) (param $z f32) (drop (i32.sub (local.get $x) (i32.const -64) ) ) (drop (i32.add (local.get $x) (i32.const -64) ) ) (drop (i32.sub (local.get $x) (i32.const -8192) ) ) (drop (i32.sub (local.get $x) (i32.const -1048576) ) ) (drop (i32.sub (local.get $x) (i32.const -134217728) ) ) (drop (i64.sub (local.get $y) (i64.const -64) ) ) (drop (i64.add (local.get $y) (i64.const -64) ) ) (drop (i64.sub (local.get $y) (i64.const -8192) ) ) (drop (i64.sub (local.get $y) (i64.const -1048576) ) ) (drop (i64.sub (local.get $y) (i64.const -134217728) ) ) (drop (i64.sub (local.get $y) (i64.const -17179869184) ) ) (drop (i64.sub (local.get $y) (i64.const -2199023255552) ) ) (drop (i64.sub (local.get $y) (i64.const -281474976710656) ) ) (drop (i64.sub (local.get $y) (i64.const -36028797018963968) ) ) (drop (i64.sub (local.get $y) (i64.const -4611686018427387904) ) ) (drop (f32.add (local.get $z) (f32.const 64) ) ) ) (func $shift-a-zero (param $x i32) (param $y i64) (param $z f32) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i64.const 0) ) (drop (i32.shl (i32.const 0) (unreachable) ) ) ) (func $identical-siblings (param $x i32) (param $y i64) (param $z f64) (param $xx i32) (drop (i32.const 0) ) (drop (i64.const 0) ) (drop (f64.sub (local.get $z) (local.get $z) ) ) (drop (i32.sub (local.get $x) (local.get $xx) ) ) (drop (i32.sub (unreachable) (unreachable) ) ) (drop (i32.add (local.get $x) (local.get $x) ) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (local.get $x) ) (drop (local.get $x) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i64.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (local.get $y) ) (drop (local.get $y) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) ) (func $all_ones (param $x i32) (param $y i64) (drop (local.get $x) ) (drop (i32.const -1) ) (drop (i32.or (local.tee $x (i32.const 1337) ) (i32.const -1) ) ) (drop (local.get $y) ) (drop (i64.const -1) ) ) (func $xor (param $x i32) (param $y i64) (drop (local.get $x) ) ) (func $select-on-const (param $x i32) (param $y i64) (drop (local.get $x) ) (drop (i32.const 3) ) (drop (local.tee $x (i32.const 5) ) ) (drop (block (result i32) (drop (local.tee $x (i32.const 6) ) ) (i32.const 7) ) ) (drop (select (i32.const 4) (local.tee $x (i32.const 5) ) (i32.const 1) ) ) (drop (local.tee $x (i32.const 6) ) ) (drop (i32.eqz (i32.eqz (local.get $x) ) ) ) (drop (i32.eqz (local.get $x) ) ) (drop (i32.ge_s (local.get $x) (i32.const 0) ) ) (drop (i32.lt_s (local.get $x) (i32.const 0) ) ) (drop (i32.lt_s (local.get $x) (i32.const 0) ) ) (drop (i32.gt_s (local.get $x) (i32.const 0) ) ) (drop (i32.le_s (local.get $x) (i32.const 0) ) ) (drop (i32.ge_s (local.get $x) (i32.const 0) ) ) (drop (i64.extend_i32_u (i32.eqz (i32.eqz (local.get $x) ) ) ) ) (drop (i64.extend_i32_u (i32.eqz (local.get $x) ) ) ) (drop (i64.extend_i32_u (i64.eqz (local.get $y) ) ) ) (drop (i64.extend_i32_u (i32.eqz (i64.eqz (local.get $y) ) ) ) ) (drop (i64.extend_i32_u (i64.ge_s (local.get $y) (i64.const 0) ) ) ) (drop (i64.extend_i32_u (i64.lt_s (local.get $y) (i64.const 0) ) ) ) (drop (i64.extend_i32_u (i64.lt_s (local.get $y) (i64.const 0) ) ) ) (drop (i64.extend_i32_u (i64.ge_s (local.get $y) (i64.const 0) ) ) ) (drop (select (i32.const 0) (local.get $x) (i32.const 0) ) ) (drop (select (i32.const 2) (local.get $x) (i32.const 2) ) ) (drop (select (local.get $x) (i32.const 2) (local.get $x) ) ) (drop (select (local.get $y) (i64.const 0) (i64.eqz (i64.const 0) ) ) ) (drop (select (local.get $y) (i64.const 2) (i64.eqz (i64.const 2) ) ) ) ) (func $optimize-boolean (param $x i32) (param $y i64) (drop (select (i32.const 1) (i32.const 2) (local.get $x) ) ) (drop (i32.and (local.get $x) (i32.const 1) ) ) (drop (i32.eqz (i32.and (local.get $x) (i32.const 1) ) ) ) (drop (i32.wrap_i64 (i64.shr_u (local.get $y) (i64.const 63) ) ) ) (drop (i32.eqz (i32.shr_u (local.get $x) (i32.const 31) ) ) ) (drop (i64.eqz (i64.shr_u (local.get $y) (i64.const 63) ) ) ) (drop (i64.eqz (i64.shr_u (local.get $y) (i64.const 63) ) ) ) (drop (i64.eqz (local.get $y) ) ) (drop (i32.eqz (i32.wrap_i64 (local.get $y) ) ) ) (drop (i32.wrap_i64 (i64.and (local.get $y) (i64.const 1) ) ) ) (drop (i64.eqz (i64.and (local.get $y) (i64.const 1) ) ) ) (drop (i32.and (local.get $x) (i32.const 1) ) ) (drop (i32.const 1) ) (drop (i64.and (local.get $y) (i64.const 1) ) ) (drop (i64.const 1) ) (drop (i32.and (local.get $x) (i32.const 1) ) ) (drop (i64.ne (local.get $y) (i64.const 0) ) ) (drop (i32.ne (local.get $x) (i32.const 0) ) ) (drop (if (result i32) (i32.and (local.get $x) (i32.const 3) ) (i32.const 1) (i32.const 0) ) ) (drop (if (result i32) (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const 1) (i32.const 0) ) ) ) (func $optimize-bitwise-oprations (param $x i32) (param $y i32) (param $z i64) (param $w i64) (drop (i32.rotl (i32.const -2) (local.get $x) ) ) (drop (i64.rotl (i64.const -2) (local.get $z) ) ) ) (func $getFallthrough (local $x0 i32) (local $x1 i32) (local $x2 i32) (local $x3 i32) (local $x4 i32) (local $x5 i32) (local $x6 i32) (local $x7 i32) (local.set $x0 (i32.const 1) ) (drop (local.get $x0) ) (local.set $x1 (local.tee $x2 (i32.const 1) ) ) (drop (local.get $x1) ) (local.set $x3 (loop $loop-in (result i32) (i32.const 1) ) ) (drop (local.get $x3) ) (local.set $x4 (if (result i32) (i32.const 1) (i32.const 2) (i32.const 3) ) ) (drop (i32.and (local.get $x4) (i32.const 7) ) ) (local.set $x5 (if (result i32) (i32.const 1) (unreachable) (i32.const 3) ) ) (drop (local.get $x5) ) (local.set $x6 (if (result i32) (i32.const 1) (i32.const 3) (unreachable) ) ) (drop (local.get $x6) ) (drop (block $out (result i32) (local.set $x7 (br_if $out (i32.const 1) (i32.const 1) ) ) (drop (local.get $x7) ) (unreachable) ) ) ) (func $tee-with-unreachable-value (result f64) (local $var$0 i32) (block $label$1 (result f64) (local.tee $var$0 (br_if $label$1 (f64.const 1) (unreachable) ) ) ) ) (func $add-sub-zero-reorder-1 (param $temp i32) (result i32) (i32.add (i32.add (i32.sub (i32.const 0) (local.get $temp) ) (local.tee $temp (i32.const 1) ) ) (i32.const 2) ) ) (func $add-sub-zero-reorder-2 (param $temp i32) (result i32) (i32.add (i32.sub (local.tee $temp (i32.const 1) ) (local.get $temp) ) (i32.const 2) ) ) (func $const-float-zero (param $fx f32) (param $fy f64) (drop (f32.sub (local.get $fx) (f32.const 0) ) ) (drop (f64.sub (local.get $fy) (f64.const 0) ) ) (drop (f32.add (local.get $fx) (f32.const -0) ) ) (drop (f64.add (local.get $fy) (f64.const -0) ) ) (drop (f32.add (local.get $fx) (f32.const 0) ) ) (drop (f64.add (local.get $fy) (f64.const 0) ) ) (drop (f32.sub (f32.const 0) (local.get $fx) ) ) (drop (f64.sub (f64.const 0) (local.get $fy) ) ) (drop (f32.add (local.get $fx) (f32.const 0) ) ) (drop (f64.add (local.get $fy) (f64.const 0) ) ) (drop (f32.sub (f32.const -nan:0x34546d) (f32.const 0) ) ) ) (func $rhs-is-neg-one (param $x i32) (param $y i64) (param $fx f32) (param $fy f64) (drop (i32.add (local.get $x) (i32.const 1) ) ) (drop (i64.add (local.get $y) (i64.const 1) ) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.gt_s (local.get $x) (i32.const -1) ) ) (drop (i64.gt_s (local.get $y) (i64.const -1) ) ) (drop (i64.extend_i32_s (i32.const 0) ) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.le_s (local.get $x) (i32.const -1) ) ) (drop (i64.le_s (local.get $y) (i64.const -1) ) ) (drop (i32.eq (local.get $x) (i32.const -1) ) ) (drop (i64.eq (local.get $y) (i64.const -1) ) ) (drop (i32.ne (local.get $x) (i32.const -1) ) ) (drop (i64.ne (local.get $y) (i64.const -1) ) ) (drop (i32.sub (i32.const 0) (local.get $x) ) ) (drop (i64.sub (i64.const 0) (local.get $y) ) ) (drop (f32.sub (f32.const -0) (local.get $fx) ) ) (drop (f64.sub (f64.const -0) (local.get $fy) ) ) (drop (i32.eq (local.get $x) (i32.const -1) ) ) (drop (i64.extend_i32_u (i64.eq (local.get $y) (i64.const -1) ) ) ) ) (func $rhs-is-const (param $x i32) (param $y i64) (param $fx f32) (param $fy f64) (drop (i32.eq (local.get $x) (i32.const -2147483648) ) ) (drop (i64.extend_i32_u (i64.eq (local.get $y) (i64.const -9223372036854775808) ) ) ) (drop (i64.div_s (local.get $y) (i64.const -2147483648) ) ) (drop (i32.ge_u (local.get $x) (i32.const -2) ) ) (drop (i32.eq (local.get $x) (i32.const -1) ) ) (drop (i32.ge_u (local.get $x) (i32.const -2147483647) ) ) (drop (i32.shr_u (local.get $x) (i32.const 31) ) ) (drop (i64.extend_i32_u (i64.eq (local.get $y) (i64.const -1) ) ) ) (drop (i64.shr_u (local.get $y) (i64.const 63) ) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.ne (local.get $x) (i32.const 0) ) ) (drop (i64.ne (local.get $y) (i64.const 0) ) ) (drop (i32.eqz (local.get $x) ) ) (drop (i64.eqz (local.get $y) ) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.ne (local.get $x) (i32.const 2147483647) ) ) (drop (i64.ne (local.get $y) (i64.const 9223372036854775807) ) ) (drop (i32.ne (local.get $x) (i32.const -2147483648) ) ) (drop (i64.ne (local.get $y) (i64.const -9223372036854775808) ) ) (drop (i32.eq (local.get $x) (i32.const -2147483648) ) ) (drop (i64.eq (local.get $y) (i64.const -9223372036854775808) ) ) (drop (i32.eq (local.get $x) (i32.const 2147483647) ) ) (drop (i64.eq (local.get $y) (i64.const 9223372036854775807) ) ) (drop (f32.sub (f32.const -0) (local.get $fx) ) ) (drop (f64.mul (local.get $fy) (f64.const 2.1) ) ) (drop (f64.mul (local.get $fy) (f64.const -2) ) ) (drop (f32.div (local.get $fx) (f32.const -inf) ) ) (drop (f64.div (local.get $fy) (f64.const 0) ) ) (drop (f64.div (local.get $fy) (f64.const -nan:0x8000000000000) ) ) (drop (f64.div (f64.const -5) (local.get $fy) ) ) ) (func $lhs-is-neg-one (param $x i32) (param $y i64) (drop (i32.const -1) ) (drop (i64.const -1) ) (drop (i32.const -1) ) (drop (i64.const -1) ) (drop (i32.const -1) ) (drop (i64.const -1) ) (drop (i32.shr_s (i32.const -1) (call $ne0) ) ) (drop (i32.shr_u (i32.const -1) (local.get $x) ) ) ) (func $lhs-is-const (param $x i32) (param $y i64) (drop (i32.sub (i32.const 1) (local.get $x) ) ) (drop (i64.sub (i64.const 1) (local.get $y) ) ) (drop (i32.sub (i32.const -2) (local.get $x) ) ) (drop (i64.sub (i64.const -2) (local.get $y) ) ) (drop (i32.sub (local.get $x) (i32.const 1) ) ) (drop (i64.sub (local.get $y) (i64.const 1) ) ) (drop (i32.sub (local.get $x) (i32.const -2147483648) ) ) ) (func $pre-combine-or (param $x i32) (param $y i32) (drop (i32.ge_s (local.get $x) (local.get $y) ) ) (drop (i32.ge_s (local.get $x) (local.get $y) ) ) (drop (i32.or (i32.eq (local.get $x) (i32.const 1) ) (i32.gt_s (local.get $x) (local.get $y) ) ) ) (drop (i32.or (i32.eq (local.get $x) (local.get $y) ) (i32.gt_s (local.get $x) (i32.const 1) ) ) ) (drop (i32.or (i32.gt_s (call $ne0) (local.get $y) ) (i32.eq (call $ne0) (local.get $y) ) ) ) (drop (i32.or (i32.lt_s (call $ne0) (local.get $y) ) (i32.eq (call $ne0) (local.get $y) ) ) ) ) (func $combine-or (param $x i32) (param $y i32) (drop (i32.ge_s (local.get $x) (local.get $y) ) ) ) (func $select-into-arms (param $x i32) (param $y i32) (if (select (local.get $x) (local.get $y) (local.get $y) ) (unreachable) ) ) (func $optimize-boolean-context (param $x i32) (param $y i32) (if (local.get $x) (unreachable) ) (drop (select (local.get $x) (local.get $y) (local.get $x) ) ) ) (func $optimize-relationals (param $x i32) (param $y i32) (param $X i64) (param $Y i64) (drop (i32.eq (local.get $x) (i32.const -2147483647) ) ) (drop (i32.eq (local.get $x) (i32.const -2147483648) ) ) (drop (i32.eq (local.get $x) (i32.const 2147483647) ) ) (drop (i32.eq (local.get $x) (local.get $y) ) ) (drop (i64.eq (local.get $X) (local.get $Y) ) ) (drop (i32.eq (local.get $x) (local.get $y) ) ) (drop (i64.eq (local.get $X) (local.get $Y) ) ) (drop (i32.ne (local.get $x) (local.get $y) ) ) (drop (i64.ne (local.get $X) (local.get $Y) ) ) (drop (i32.gt_s (i32.sub (local.get $x) (local.get $y) ) (i32.const 0) ) ) (drop (i32.ge_s (i32.sub (local.get $x) (local.get $y) ) (i32.const 0) ) ) (drop (i32.ne (local.get $x) (local.get $y) ) ) (drop (i32.const 1) ) (drop (i32.const 1) ) (drop (i32.lt_s (i32.sub (local.get $x) (local.get $y) ) (i32.const 0) ) ) (drop (i32.le_s (i32.sub (local.get $x) (local.get $y) ) (i32.const 0) ) ) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.eq (local.get $x) (local.get $y) ) ) (drop (i32.eq (local.get $x) (i32.const -2147483648) ) ) (drop (i32.ne (local.get $x) (i32.const -2147483648) ) ) (drop (i32.lt_s (i32.sub (local.get $x) (i32.const -2147483648) ) (i32.const 0) ) ) (drop (i32.ge_s (i32.sub (local.get $x) (i32.const -2147483648) ) (i32.const 0) ) ) (drop (i32.gt_s (i32.sub (local.get $x) (block $block (result i32) (i32.const -2147483648) ) ) (i32.const 0) ) ) (drop (i32.gt_s (i32.sub (local.get $x) (block $block29 (result i32) (i32.const -2147483648) ) ) (i32.const 0) ) ) ) (func $unsigned-context (param $x i32) (param $y i64) (drop (i32.div_u (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const 3) ) ) (drop (i32.div_s (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const -3) ) ) (drop (i32.eq (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const -2147483648) ) ) (drop (i64.shr_u (i64.and (local.get $y) (i64.const 9223372036854775807) ) (i64.const 1) ) ) (drop (i64.div_s (i64.and (local.get $y) (i64.const 9223372036854775807) ) (i64.const -1) ) ) (drop (i32.rem_u (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const 3) ) ) (drop (i32.shr_u (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const 7) ) ) (drop (i32.ge_u (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const 7) ) ) (drop (i32.ge_s (i32.and (local.get $x) (i32.const 2147483647) ) (i32.const -7) ) ) ) (func $optimize-float-mul-by-two (param $0 f64) (param $1 f32) (drop (f64.add (local.get $0) (local.get $0) ) ) (drop (f32.add (local.get $1) (local.get $1) ) ) (drop (f64.mul (call $tee-with-unreachable-value) (f64.const 2) ) ) (drop (f64.mul (local.get $0) (f64.const -2) ) ) ) (func $duplicate-elimination (param $x i32) (param $y i32) (param $z i32) (param $w f64) (drop (f64.abs (local.get $w) ) ) (drop (f64.ceil (local.get $w) ) ) (drop (f64.floor (local.get $w) ) ) (drop (f64.trunc (local.get $w) ) ) (drop (f64.nearest (local.get $w) ) ) (drop (f64.nearest (f64.trunc (local.get $w) ) ) ) (drop (f64.trunc (f64.nearest (local.get $w) ) ) ) (drop (local.get $w) ) (drop (f64.neg (local.get $w) ) ) (drop (local.get $w) ) (drop (i32.eqz (i32.eqz (local.get $x) ) ) ) (drop (i32.eqz (local.get $x) ) ) (drop (i64.eqz (i64.const 1) ) ) (drop (i32.ne (local.get $x) (i32.const 2) ) ) (drop (i32.and (local.get $x) (i32.const 1) ) ) (drop (i32.rem_s (local.get $x) (local.get $y) ) ) (drop (i32.rem_u (local.get $x) (local.get $y) ) ) (drop (local.get $y) ) (drop (local.get $y) ) (drop (i32.sub (local.get $y) (i32.sub (local.get $x) (local.get $y) ) ) ) (drop (local.get $y) ) (drop (local.get $y) ) (drop (local.get $y) ) (drop (local.get $y) ) (drop (local.get $x) ) (drop (i32.and (local.get $x) (local.get $y) ) ) (drop (i32.and (local.get $x) (local.get $y) ) ) (drop (i32.and (local.get $x) (local.get $y) ) ) (drop (i32.and (local.get $x) (local.get $y) ) ) (drop (i32.or (local.get $x) (local.get $y) ) ) (drop (i32.or (local.get $x) (local.get $y) ) ) (drop (i32.or (local.get $x) (local.get $y) ) ) (drop (i32.or (local.get $x) (local.get $y) ) ) (drop (i32.or (local.get $z) (i32.or (local.get $x) (local.get $y) ) ) ) (drop (i32.or (local.get $y) (i32.or (local.get $x) (local.get $z) ) ) ) (drop (i32.or (call $ne0) (local.get $x) ) ) (drop (i32.or (i32.or (call $ne0) (local.get $x) ) (call $ne0) ) ) (drop (i32.or (call $ne0) (local.get $x) ) ) (drop (i32.or (call $ne0) (i32.or (call $ne0) (local.get $x) ) ) ) (drop (i32.rem_s (i32.rem_s (local.get $y) (local.get $x) ) (local.get $y) ) ) (drop (i32.rem_u (local.get $y) (i32.rem_u (local.get $x) (local.get $y) ) ) ) (drop (i32.or (local.get $x) (i32.or (local.tee $x (i32.const 1) ) (local.get $x) ) ) ) (drop (i32.or (i32.or (local.get $x) (local.tee $x (i32.const 1) ) ) (local.get $x) ) ) (drop (i32.xor (local.get $x) (i32.xor (local.tee $x (i32.const 1) ) (local.get $x) ) ) ) (drop (i32.xor (i32.xor (local.get $x) (local.tee $x (i32.const 1) ) ) (local.get $x) ) ) ) (func $optimize-shifts (param $x i32) (param $y i32) (param $z i64) (param $w i64) (drop (local.get $x) ) (drop (local.get $x) ) (drop (local.get $x) ) (drop (local.get $x) ) (drop (local.get $x) ) (drop (local.get $z) ) (drop (local.get $z) ) (drop (local.get $z) ) (drop (local.get $z) ) (drop (local.get $z) ) (drop (i32.shl (local.get $x) (local.get $y) ) ) (drop (i32.shl (local.get $x) (local.get $y) ) ) (drop (i32.shr_s (local.get $x) (local.get $y) ) ) (drop (i32.shr_u (local.get $x) (local.get $y) ) ) (drop (i64.shl (local.get $z) (local.get $w) ) ) (drop (i64.shl (local.get $z) (local.get $w) ) ) (drop (i64.shr_s (local.get $z) (local.get $w) ) ) (drop (i64.shr_u (local.get $z) (local.get $w) ) ) (drop (local.get $x) ) (drop (local.get $z) ) (drop (i64.shl (local.get $z) (i64.and (local.get $w) (i64.const 32) ) ) ) (drop (i64.shr_u (local.get $z) (i64.and (local.get $w) (i64.const 31) ) ) ) ) (func $optimize-float-points (param $x0 f64) (param $x1 f64) (param $y0 f32) (param $y1 f32) (drop (f64.mul (local.get $x0) (local.get $x0) ) ) (drop (f32.mul (local.get $y0) (local.get $y0) ) ) (drop (f64.mul (f64.add (local.get $x0) (local.get $x1) ) (f64.add (local.get $x0) (local.get $x1) ) ) ) (drop (f64.abs (f64.mul (local.get $x0) (local.get $x1) ) ) ) (drop (f32.abs (f32.mul (local.get $y1) (local.get $y0) ) ) ) (drop (f64.abs (f64.mul (local.get $x0) (f64.const 0) ) ) ) (drop (f32.abs (f32.mul (f32.const 0) (local.get $y0) ) ) ) (drop (f64.abs (f64.mul (f64.add (local.get $x0) (local.get $x1) ) (f64.add (local.get $x0) (local.get $x0) ) ) ) ) (drop (f64.abs (local.get $x0) ) ) (drop (f32.abs (local.get $y0) ) ) (drop (f64.abs (f64.sub (f64.const 0) (local.get $x0) ) ) ) (drop (f32.abs (f32.sub (f32.const 0) (local.get $y0) ) ) ) (drop (f64.div (local.get $x0) (local.get $x0) ) ) (drop (f32.div (local.get $y0) (local.get $y0) ) ) (drop (f64.div (f64.add (local.get $x0) (local.get $x1) ) (f64.add (local.get $x0) (local.get $x1) ) ) ) (drop (f64.abs (f64.div (local.get $x0) (local.get $x1) ) ) ) (drop (f32.abs (f32.div (local.get $y1) (local.get $y0) ) ) ) (drop (f64.mul (local.get $x0) (local.get $x0) ) ) (drop (f32.mul (local.get $y0) (local.get $y0) ) ) (drop (f64.div (local.get $x0) (local.get $x0) ) ) (drop (f32.div (local.get $y0) (local.get $y0) ) ) (drop (f64.abs (f64.div (local.get $x0) (f64.const 0) ) ) ) (drop (f32.abs (f32.div (f32.const 0) (local.get $y0) ) ) ) (drop (f64.abs (f64.div (f64.add (local.get $x0) (local.get $x1) ) (f64.add (local.get $x0) (local.get $x0) ) ) ) ) ) ) (module (type $none_=>_none (func)) (import "env" "memory" (memory $0 (shared 256 256))) (func $x (drop (i32.shr_s (i32.shl (i32.atomic.load8_u (i32.const 100) ) (i32.const 24) ) (i32.const 24) ) ) ) ) (module (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (memory $0 0) (func $optimize-bulk-memory-copy (param $dst i32) (param $src i32) (param $sz i32) (memory.copy (local.get $dst) (local.get $dst) (local.get $sz) ) (memory.copy (local.get $dst) (local.get $src) (i32.const 0) ) (i32.store8 (local.get $dst) (i32.load8_u (local.get $src) ) ) (i32.store16 align=1 (local.get $dst) (i32.load16_u align=1 (local.get $src) ) ) (memory.copy (local.get $dst) (local.get $src) (i32.const 3) ) (i32.store align=1 (local.get $dst) (i32.load align=1 (local.get $src) ) ) (memory.copy (local.get $dst) (local.get $src) (i32.const 5) ) (memory.copy (local.get $dst) (local.get $src) (i32.const 6) ) (memory.copy (local.get $dst) (local.get $src) (i32.const 7) ) (i64.store align=1 (local.get $dst) (i64.load align=1 (local.get $src) ) ) (v128.store align=1 (local.get $dst) (v128.load align=1 (local.get $src) ) ) (memory.copy (local.get $dst) (local.get $src) (local.get $sz) ) (memory.copy (i32.const 0) (i32.const 0) (i32.load (i32.const 3) ) ) ) ) (module (type $none_=>_anyref (func (result anyref))) (func $if-arms-subtype-fold (result anyref) (ref.null extern) ) (func $if-arms-subtype-nofold (result anyref) (if (result anyref) (i32.const 0) (ref.null extern) (ref.null func) ) ) ) (module (type $i32_i32_i32_f64_=>_none (func (param i32 i32 i32 f64))) (func $duplicate-elimination (param $x i32) (param $y i32) (param $z i32) (param $w f64) (drop (i32.extend8_s (local.get $x) ) ) (drop (i32.extend16_s (local.get $x) ) ) ) ) (module (type $none_=>_none (func)) (func $test (if (try (result i32) (do (i32.const 123) ) (catch (drop (pop exnref) ) (i32.const 456) ) ) (nop) ) ) ) (module (type $i32_=>_i32 (func (param i32) (result i32))) (type $ref?|i32_->_i32|_=>_i32 (func (param (ref null $i32_=>_i32)) (result i32))) (func $call_from-param (param $f (ref null $i32_=>_i32)) (result i32) (unreachable) ) )