(module (type $0 (func (param i64 i64 i64) (result i32))) (type $1 (func (param i32) (result i32))) (func $figure-1a (; 0 ;) (type $0) (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) (set_local $12 (i64.eq (get_local $a) (get_local $x) ) ) (set_local $13 (i64.ne (get_local $a) (get_local $y) ) ) (nop) (nop) (nop) (set_local $15 (i32.and (get_local $12) (get_local $13) ) ) (return (get_local $15) ) (unreachable) ) (nop) (return (get_local $16) ) ) (func $figure-1b (; 1 ;) (type $0) (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) (set_local $8 (i64.lt_s (get_local $x) (get_local $y) ) ) (if (get_local $8) (block $block0 (block $block1 (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (set_local $15 (i64.eq (get_local $a) (get_local $x) ) ) (set_local $16 (i64.ne (get_local $a) (get_local $y) ) ) (nop) (nop) (nop) (set_local $18 (i32.and (get_local $15) (get_local $16) ) ) (return (get_local $18) ) (unreachable) ) (unreachable) ) (block $block2 (unreachable) (unreachable) ) ) ) (unreachable) ) (func $figure-3-if (; 2 ;) (type $1) (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) (set_local $2 (i32.and (get_local $x) (i32.const 1) ) ) (if (get_local $2) (block $block4 (nop) (nop) (set_local $x (i32.add (get_local $x) (i32.const 1) ) ) (nop) ) (block $block5 (nop) (nop) (set_local $x (i32.add (get_local $x) (i32.const 2) ) ) (nop) ) ) ) (nop) (nop) (set_local $8 (i32.and (get_local $x) (i32.const 1) ) ) (return (get_local $8) ) (unreachable) ) (nop) (return (get_local $9) ) ) )