(module (type $i64_i64_i64_=>_i32 (func (param i64 i64 i64) (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (func $figure-1a (param $a i64) (param $x i64) (param $y i64) (result i32) (local $i i32) (local $j i32) (local $r i32) (local $6 i64) (local $7 i64) (local $8 i32) (local $9 i64) (local $10 i64) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) (local $15 i32) (local $16 i32) (local $17 i32) (block $block (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (local.set $12 (i64.eq (local.get $a) (local.get $x) ) ) (local.set $13 (i64.ne (local.get $a) (local.get $y) ) ) (nop) (nop) (nop) (local.set $15 (i32.and (local.get $12) (local.get $13) ) ) (return (local.get $15) ) (unreachable) ) (nop) (return (local.get $16) ) ) (func $figure-1b (param $a i64) (param $x i64) (param $y i64) (result i32) (local $i i32) (local $j i32) (local $r i32) (local $6 i64) (local $7 i64) (local $8 i32) (local $9 i64) (local $10 i64) (local $11 i32) (local $12 i64) (local $13 i64) (local $14 i32) (local $15 i32) (local $16 i32) (local $17 i32) (local $18 i32) (block $block (nop) (nop) (local.set $8 (i64.lt_s (local.get $x) (local.get $y) ) ) (if (local.get $8) (block $block0 (block $block1 (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (local.set $15 (i64.eq (local.get $a) (local.get $x) ) ) (local.set $16 (i64.ne (local.get $a) (local.get $y) ) ) (nop) (nop) (nop) (local.set $18 (i32.and (local.get $15) (local.get $16) ) ) (return (local.get $18) ) (unreachable) ) (unreachable) ) (block $block2 (unreachable) (unreachable) ) ) ) (unreachable) ) (func $figure-3-if (param $x i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (block $block (block $block3 (nop) (local.set $2 (i32.and (local.get $x) (i32.const 1) ) ) (if (local.get $2) (block $block4 (nop) (nop) (local.set $x (i32.add (local.get $x) (i32.const 1) ) ) (nop) ) (block $block5 (nop) (nop) (local.set $x (i32.add (local.get $x) (i32.const 2) ) ) (nop) ) ) ) (nop) (nop) (local.set $8 (i32.and (local.get $x) (i32.const 1) ) ) (return (local.get $8) ) (unreachable) ) (nop) (return (local.get $9) ) ) )