| (module |
| (type $0 (func (param i32 i64))) |
| (type $1 (func)) |
| (type $2 (func (result i32))) |
| (type $3 (func (param i32) (result i32))) |
| (type $4 (func (param i32 i32))) |
| (type $5 (func (param i32))) |
| (memory $0 0) |
| (export "load-off-2" (func $load-off-2)) |
| (func $f (type $0) (param $i1 i32) (param $i2 i64) |
| (if |
| (i32.eqz |
| (get_local $i1) |
| ) |
| (drop |
| (i32.const 10) |
| ) |
| ) |
| (if |
| (get_local $i1) |
| (drop |
| (i32.const 12) |
| ) |
| (drop |
| (i32.const 11) |
| ) |
| ) |
| (if |
| (i64.eqz |
| (get_local $i2) |
| ) |
| (drop |
| (i32.const 11) |
| ) |
| (drop |
| (i32.const 12) |
| ) |
| ) |
| (drop |
| (i32.le_s |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (i32.lt_s |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (i32.ge_s |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (i32.gt_s |
| (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) |
| ) |
| ) |
| (if |
| (i32.const 123) |
| (nop) |
| ) |
| (drop |
| (select |
| (i32.const 102) |
| (i32.const 101) |
| (get_local $i1) |
| ) |
| ) |
| (drop |
| (select |
| (tee_local $i1 |
| (i32.const 103) |
| ) |
| (tee_local $i1 |
| (i32.const 104) |
| ) |
| (i32.eqz |
| (get_local $i1) |
| ) |
| ) |
| ) |
| (drop |
| (select |
| (i32.const 0) |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $load-store (type $1) |
| (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) |
| ) |
| ) |
| (func $and-neg1 (type $1) |
| (drop |
| (i32.const 100) |
| ) |
| (drop |
| (i32.and |
| (i32.const 100) |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (func $and-pos1 (type $1) |
| (drop |
| (i32.eqz |
| (i32.const 1000) |
| ) |
| ) |
| (drop |
| (i32.eqz |
| (i32.const 1000) |
| ) |
| ) |
| (drop |
| (i32.and |
| (i32.const 100) |
| (i32.const 1) |
| ) |
| ) |
| (drop |
| (i32.lt_s |
| (i32.const 2000) |
| (i32.const 3000) |
| ) |
| ) |
| ) |
| (func $canonicalize-binary (type $1) |
| (drop |
| (i32.and |
| (unreachable) |
| (i32.const 1) |
| ) |
| ) |
| (drop |
| (i32.and |
| (unreachable) |
| (i32.const 1) |
| ) |
| ) |
| (drop |
| (i32.div_s |
| (unreachable) |
| (i32.const 1) |
| ) |
| ) |
| (drop |
| (i32.div_s |
| (i32.const 1) |
| (unreachable) |
| ) |
| ) |
| ) |
| (func $ne0 (type $2) (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 (type $1) |
| (if |
| (if i32 |
| (i32.const 1) |
| (call $ne0) |
| (call $ne0) |
| ) |
| (nop) |
| ) |
| (if |
| (block $block i32 |
| (nop) |
| (call $ne0) |
| ) |
| (nop) |
| ) |
| ) |
| (func $load-off-2 (type $3) (param $0 i32) (result i32) |
| (i32.store |
| (i32.const 6) |
| (get_local $0) |
| ) |
| (i32.store |
| (i32.const 6) |
| (get_local $0) |
| ) |
| (i32.store offset=2 |
| (i32.add |
| (get_local $0) |
| (i32.const 5) |
| ) |
| (get_local $0) |
| ) |
| (i32.store offset=2 |
| (i32.add |
| (get_local $0) |
| (i32.const 7) |
| ) |
| (get_local $0) |
| ) |
| (i32.store offset=2 |
| (i32.add |
| (get_local $0) |
| (i32.const -11) |
| ) |
| (get_local $0) |
| ) |
| (i32.store offset=2 |
| (i32.add |
| (get_local $0) |
| (i32.const -13) |
| ) |
| (get_local $0) |
| ) |
| (i32.store |
| (i32.const 4) |
| (get_local $0) |
| ) |
| (i32.store |
| (i32.const 0) |
| (get_local $0) |
| ) |
| (i32.store |
| (i32.const 25) |
| (get_local $0) |
| ) |
| (i32.store |
| (i32.const -23) |
| (get_local $0) |
| ) |
| (drop |
| (i32.load |
| (i32.const 8) |
| ) |
| ) |
| (drop |
| (i32.load |
| (i32.const 8) |
| ) |
| ) |
| (drop |
| (i32.load offset=2 |
| (i32.add |
| (get_local $0) |
| (i32.const 6) |
| ) |
| ) |
| ) |
| (drop |
| (i32.load |
| (i32.const 10) |
| ) |
| ) |
| (i32.load offset=2 |
| (i32.add |
| (get_local $0) |
| (i32.const 10) |
| ) |
| ) |
| ) |
| (func $sign-ext (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.eqz |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eqz |
| (i32.and |
| (get_local $0) |
| (i32.const 65535) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eqz |
| (i32.and |
| (get_local $0) |
| (i32.const 134217727) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.const 100) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.const 255) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.and |
| (get_local $1) |
| (i32.const 255) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.and |
| (get_local $0) |
| (i32.const 65535) |
| ) |
| (i32.and |
| (get_local $1) |
| (i32.const 65535) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eqz |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 23) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eqz |
| (i32.shr_u |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| ) |
| (drop |
| (i32.lt_s |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 0) |
| ) |
| ) |
| ) |
| (func $sign-ext-input (type $4) (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 |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (unreachable) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (i32.div_s |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (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 59) |
| ) |
| (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 35) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (i32.shr_s |
| (i32.const 256) |
| (i32.const 1) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.const 256) |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.const 128) |
| (i32.const 35) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (i32.shr_s |
| (i32.const -1) |
| (i32.const 32) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.and |
| (i32.const -1) |
| (i32.const 2147483647) |
| ) |
| (i32.const 32) |
| ) |
| ) |
| (drop |
| (i32.ne |
| (i32.const -1) |
| (i32.const -1) |
| ) |
| ) |
| (drop |
| (f32.le |
| (f32.const -1) |
| (f32.const -1) |
| ) |
| ) |
| (drop |
| (i32.clz |
| (i32.const 0) |
| ) |
| ) |
| (drop |
| (i32.shl |
| (i32.clz |
| (i32.const 0) |
| ) |
| (i32.const 2) |
| ) |
| ) |
| (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.shl |
| (i32.wrap/i64 |
| (i64.clz |
| (i64.const 0) |
| ) |
| ) |
| (i32.const 1) |
| ) |
| ) |
| (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_s/i32 |
| (i32.const -1) |
| ) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_u |
| (i32.wrap/i64 |
| (i64.extend_s/i32 |
| (i32.const -1) |
| ) |
| ) |
| (i32.const 25) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (i32.xor |
| (i32.le_u |
| (get_local $0) |
| (i32.const 2) |
| ) |
| (get_local $0) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| ) |
| (func $linear-sums (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.add |
| (get_local $1) |
| (i32.shl |
| (get_local $0) |
| (i32.const 4) |
| ) |
| ) |
| ) |
| (drop |
| (i32.add |
| (i32.add |
| (get_local $1) |
| (i32.shl |
| (get_local $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) |
| (get_local $0) |
| ) |
| (i32.const 14) |
| ) |
| ) |
| (drop |
| (i32.add |
| (i32.shl |
| (get_local $1) |
| (i32.const 3) |
| ) |
| (i32.const -66) |
| ) |
| ) |
| (drop |
| (i32.const 44) |
| ) |
| (drop |
| (i32.add |
| (i32.mul |
| (get_local $0) |
| (i32.const 10) |
| ) |
| (i32.const 14) |
| ) |
| ) |
| (drop |
| (i32.add |
| (i32.mul |
| (get_local $0) |
| (i32.const 2) |
| ) |
| (i32.const 34) |
| ) |
| ) |
| (drop |
| (get_local $0) |
| ) |
| ) |
| (func $almost-sign-ext (type $4) (param $0 i32) (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 (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.and |
| (get_local $0) |
| (i32.const 8) |
| ) |
| ) |
| (drop |
| (i32.and |
| (i32.and |
| (get_local $0) |
| (i32.const 11) |
| ) |
| (get_local $0) |
| ) |
| ) |
| (drop |
| (i32.and |
| (get_local $0) |
| (i32.const 8) |
| ) |
| ) |
| (drop |
| (i32.or |
| (get_local $0) |
| (i32.const 203) |
| ) |
| ) |
| (drop |
| (i32.shl |
| (get_local $0) |
| (i32.const 211) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (get_local $0) |
| (i32.const 211) |
| ) |
| ) |
| (drop |
| (i32.shr_u |
| (get_local $0) |
| (i32.const 211) |
| ) |
| ) |
| (drop |
| (i32.shr_u |
| (i32.shr_s |
| (get_local $0) |
| (i32.const 11) |
| ) |
| (i32.const 200) |
| ) |
| ) |
| ) |
| (func $sign-ext-ne (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.ne |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.const 232) |
| ) |
| ) |
| (drop |
| (i32.ne |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.const 111) |
| ) |
| ) |
| (drop |
| (i32.ne |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.and |
| (get_local $1) |
| (i32.const 255) |
| ) |
| ) |
| ) |
| ) |
| (func $sign-ext-eqz (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.eqz |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| ) |
| ) |
| ) |
| (func $sign-ext-boolean (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (if i32 |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| (i32.const 100) |
| (i32.const 200) |
| ) |
| ) |
| ) |
| (func $add-sub-zero (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (get_local $0) |
| ) |
| (drop |
| (get_local $0) |
| ) |
| ) |
| (func $store-signext (type $5) (param $0 i32) |
| (i32.store8 |
| (i32.const 8) |
| (get_local $0) |
| ) |
| (i32.store8 |
| (i32.const 8) |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 25) |
| ) |
| (i32.const 25) |
| ) |
| ) |
| (i32.store8 |
| (i32.const 8) |
| (get_local $0) |
| ) |
| (i32.store16 |
| (i32.const 8) |
| (get_local $0) |
| ) |
| (i32.store16 |
| (i32.const 8) |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 17) |
| ) |
| (i32.const 17) |
| ) |
| ) |
| (i32.store16 |
| (i32.const 8) |
| (get_local $0) |
| ) |
| (i32.store |
| (i32.const 8) |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 16) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| (i32.store |
| (i32.const 8) |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 8) |
| ) |
| (i32.const 8) |
| ) |
| ) |
| ) |
| (func $sign-ext-tee (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (tee_local $0 |
| (i32.const 127) |
| ) |
| ) |
| ) |
| (func $sign-ext-load (type $4) (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 |
| (tee_local $1 |
| (i32.load8_s |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (tee_local $1 |
| (i32.load8_u |
| (i32.const 1) |
| ) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.and |
| (tee_local $1 |
| (i32.load8_s |
| (i32.const 1) |
| ) |
| ) |
| (i32.const 255) |
| ) |
| ) |
| (drop |
| (tee_local $1 |
| (i32.load8_u |
| (i32.const 1) |
| ) |
| ) |
| ) |
| ) |
| (func $mask-bits (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (tee_local $0 |
| (i32.const 127) |
| ) |
| ) |
| (drop |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| ) |
| (drop |
| (i32.and |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| (i32.const 254) |
| ) |
| ) |
| (drop |
| (i32.and |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| (i32.const 1279) |
| ) |
| ) |
| (drop |
| (i32.and |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| (i32.const 1290) |
| ) |
| ) |
| (drop |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| ) |
| (drop |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| ) |
| (drop |
| (i32.and |
| (tee_local $0 |
| (i32.const 128) |
| ) |
| (i32.const 127) |
| ) |
| ) |
| ) |
| (func $local-info-zero-ext (type $4) (param $0 i32) (param $1 i32) |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (set_local $x |
| (i32.const 212) |
| ) |
| (drop |
| (get_local $x) |
| ) |
| (set_local $y |
| (i32.const 500) |
| ) |
| (drop |
| (i32.and |
| (get_local $y) |
| (i32.const 255) |
| ) |
| ) |
| (set_local $0 |
| (i32.const 212) |
| ) |
| (drop |
| (i32.and |
| (get_local $0) |
| (i32.const 255) |
| ) |
| ) |
| (set_local $z |
| (i32.const 212) |
| ) |
| (set_local $z |
| (i32.const 220) |
| ) |
| (drop |
| (get_local $z) |
| ) |
| (set_local $w |
| (i32.const 212) |
| ) |
| (set_local $w |
| (i32.const 1000) |
| ) |
| (drop |
| (i32.and |
| (get_local $w) |
| (i32.const 255) |
| ) |
| ) |
| ) |
| (func $local-info-sign-ext-bitsize (type $4) (param $0 i32) (param $1 i32) |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (set_local $x |
| (i32.const 127) |
| ) |
| (drop |
| (get_local $x) |
| ) |
| (set_local $y |
| (i32.const 128) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $y) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $0 |
| (i32.const 127) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $z |
| (i32.const 127) |
| ) |
| (set_local $z |
| (i32.const 100) |
| ) |
| (drop |
| (get_local $z) |
| ) |
| (set_local $w |
| (i32.const 127) |
| ) |
| (set_local $w |
| (i32.const 150) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $w) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| ) |
| (func $local-info-sign-ext-already-exted (type $4) (param $0 i32) (param $1 i32) |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (set_local $x |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (get_local $x) |
| ) |
| (set_local $y |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 16) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $y) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $0 |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $z |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $z |
| (i32.shr_s |
| (i32.shl |
| (get_local $1) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (get_local $z) |
| ) |
| (set_local $w |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $w |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 23) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $w) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $0) |
| (i32.const 24) |
| ) |
| (i32.const 23) |
| ) |
| ) |
| ) |
| (func $signed-loads-fill-the-bits (type $3) (param $$e i32) (result i32) |
| (local $$0 i32) |
| (local $$conv i32) |
| (set_local $$0 |
| (i32.load8_s |
| (i32.const 1024) |
| ) |
| ) |
| (set_local $$conv |
| (i32.and |
| (get_local $$0) |
| (i32.const 255) |
| ) |
| ) |
| (return |
| (i32.eq |
| (get_local $$conv) |
| (get_local $$e) |
| ) |
| ) |
| ) |
| (func $local-info-sign-ext-already-exted-by-load (type $4) (param $0 i32) (param $1 i32) |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (set_local $x |
| (i32.load8_s |
| (i32.const 1024) |
| ) |
| ) |
| (drop |
| (get_local $x) |
| ) |
| (set_local $y |
| (i32.load8_u |
| (i32.const 1024) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $y) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (set_local $z |
| (i32.load16_s |
| (i32.const 1024) |
| ) |
| ) |
| (drop |
| (i32.shr_s |
| (i32.shl |
| (get_local $z) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| ) |
| (func $compare-load-s-sign-extend (type $4) (param $0 i32) (param $1 i32) |
| (drop |
| (i32.eq |
| (i32.load8_u |
| (get_local $0) |
| ) |
| (i32.and |
| (get_local $1) |
| (i32.const 255) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.and |
| (get_local $1) |
| (i32.const 255) |
| ) |
| (i32.load8_u |
| (get_local $0) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.load8_u |
| (get_local $0) |
| ) |
| (i32.shr_s |
| (i32.shl |
| (get_local $1) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.load8_s |
| (get_local $0) |
| ) |
| (i32.shr_s |
| (i32.shl |
| (get_local $1) |
| (i32.const 16) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.shr_s |
| (i32.shl |
| (get_local $1) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| (i32.load8_u |
| (get_local $0) |
| ) |
| ) |
| ) |
| (drop |
| (i32.eq |
| (i32.shr_s |
| (i32.shl |
| (get_local $1) |
| (i32.const 16) |
| ) |
| (i32.const 16) |
| ) |
| (i32.load8_s |
| (get_local $0) |
| ) |
| ) |
| ) |
| ) |
| ) |