(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)
  )
 )
)
