blob: 8d1610d7d6bdd611032b65e3c1aa1919863ac35e [file] [log] [blame] [edit]
(module
(type $0 (func (param i64 i64 i64) (result i32)))
(type $1 (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
(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
(nop)
(nop)
(local.set $8
(i64.lt_s
(local.get $x)
(local.get $y)
)
)
(if
(local.get $8)
(then
(block $block
(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)
)
(else
(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
(nop)
(local.set $2
(i32.and
(local.get $x)
(i32.const 1)
)
)
(if
(local.get $2)
(then
(nop)
(nop)
(local.set $x
(i32.add
(local.get $x)
(i32.const 1)
)
)
(nop)
)
(else
(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)
)
)
)