(module
 (type $0 (func (result i32)))
 (type $1 (func))
 (type $2 (func (param i32)))
 (import "spectest" "print" (func $print (param i32)))
 (memory $0 1 1)
 (export "mem" (memory $0))
 (start $main)
 (func $check (result i32)
  (if
   (i32.ge_u
    (i32.load
     (i32.const 4)
    )
    (i32.const 108)
   )
   (then
    (unreachable)
   )
  )
  (i32.store
   (i32.const 4)
   (i32.add
    (i32.load
     (i32.const 4)
    )
    (i32.const 4)
   )
  )
  (call $print
   (i32.sub
    (i32.const 0)
    (i32.load offset=4
     (i32.load
      (i32.const 4)
     )
    )
   )
  )
  (i32.load offset=4
   (i32.load
    (i32.const 4)
   )
  )
 )
 (func $main
  (local $0 i32)
  (local $1 i32)
  (i32.store
   (i32.const 8)
   (i32.const 5)
  )
  (i32.store
   (i32.const 12)
   (i32.const 111)
  )
  (i32.store
   (i32.const 16)
   (i32.const 119)
  )
  (i32.store
   (i32.const 20)
   (i32.const 17)
  )
  (i32.store
   (i32.const 24)
   (i32.const 179)
  )
  (i32.store
   (i32.const 28)
   (i32.const 41)
  )
  (i32.store
   (i32.const 32)
   (i32.const 32)
  )
  (i32.store
   (i32.const 36)
   (i32.const 3)
  )
  (i32.store
   (i32.const 40)
   (i32.const 171)
  )
  (i32.store
   (i32.const 44)
   (i32.const 126)
  )
  (i32.store
   (i32.const 48)
   (i32.const 13)
  )
  (i32.store
   (i32.const 52)
   (i32.const 95)
  )
  (i32.store
   (i32.const 56)
   (i32.const 70)
  )
  (i32.store
   (i32.const 60)
   (i32.const 91)
  )
  (i32.store
   (i32.const 64)
   (i32.const 9)
  )
  (i32.store
   (i32.const 68)
   (i32.const 140)
  )
  (i32.store
   (i32.const 72)
   (i32.const 99)
  )
  (i32.store
   (i32.const 76)
   (i32.const 161)
  )
  (i32.store
   (i32.const 80)
   (i32.const 38)
  )
  (i32.store
   (i32.const 84)
   (i32.const 87)
  )
  (i32.store
   (i32.const 88)
   (i32.const 153)
  )
  (i32.store
   (i32.const 92)
   (i32.const 117)
  )
  (i32.store
   (i32.const 96)
   (i32.const 140)
  )
  (i32.store
   (i32.const 100)
   (i32.const 11)
  )
  (i32.store
   (i32.const 104)
   (i32.const 157)
  )
  (i32.store
   (i32.const 108)
   (i32.const 48)
  )
  (i32.store
   (i32.const 112)
   (i32.const 4)
  )
  (block
   (block $block$2$break
    (block
     (call $print
      (i32.const 0)
     )
     (local.set $0
      (call $check)
     )
    )
    (block
     (i32.store
      (i32.const 4)
      (i32.add
       (i32.load
        (i32.const 4)
       )
       (i32.const 16)
      )
     )
     (br $block$2$break)
    )
   )
   (loop $shape$1$continue
    (block
     (call $print
      (i32.const 0)
     )
     (local.set $0
      (call $check)
     )
    )
    (block
     (i32.store
      (i32.const 4)
      (i32.add
       (i32.load
        (i32.const 4)
       )
       (i32.const 16)
      )
     )
     (br $shape$1$continue)
    )
   )
  )
 )
)
