(module
 (type $none_=>_none (func))
 (type $i32_=>_none (func (param i32)))
 (type $i32_=>_i32 (func (param i32) (result i32)))
 (type $none_=>_i32 (func (result i32)))
 (import "env" "import" (func $import))
 (import "env" "import2" (func $import2 (result i32)))
 (import "env" "import3" (func $import3 (param i32)))
 (memory $0 1 2)
 (global $__asyncify_state (mut i32) (i32.const 0))
 (global $__asyncify_data (mut i32) (i32.const 0))
 (export "asyncify_start_unwind" (func $asyncify_start_unwind))
 (export "asyncify_stop_unwind" (func $asyncify_stop_unwind))
 (export "asyncify_start_rewind" (func $asyncify_start_rewind))
 (export "asyncify_stop_rewind" (func $asyncify_stop_rewind))
 (func $calls-import (; 3 ;)
  (local $0 i32)
  (local.set $0
   (block $__asyncify_unwind (result i32)
    (if
     (select
      (i32.eqz
       (if (result i32)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 2)
        )
        (block (result i32)
         (i32.store
          (global.get $__asyncify_data)
          (i32.add
           (i32.load
            (global.get $__asyncify_data)
           )
           (i32.const -4)
          )
         )
         (i32.load
          (i32.load
           (global.get $__asyncify_data)
          )
         )
        )
        (local.get $0)
       )
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $calls-import2 (; 4 ;) (result i32)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -4)
     )
    )
    (local.set $0
     (i32.load
      (i32.load
       (global.get $__asyncify_data)
      )
     )
    )
   )
  )
  (local.set $1
   (block $__asyncify_unwind (result i32)
    (if
     (select
      (i32.eqz
       (if (result i32)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 2)
        )
        (block (result i32)
         (i32.store
          (global.get $__asyncify_data)
          (i32.add
           (i32.load
            (global.get $__asyncify_data)
           )
           (i32.const -4)
          )
         )
         (i32.load
          (i32.load
           (global.get $__asyncify_data)
          )
         )
        )
        (local.get $1)
       )
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (local.set $1
       (call $import2)
      )
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
      (local.set $0
       (local.get $1)
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (return
      (local.get $0)
     )
    )
    (unreachable)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.const 0)
 )
 (func $calls-import2-drop (; 5 ;)
  (local $0 i32)
  (local.set $0
   (block $__asyncify_unwind (result i32)
    (if
     (select
      (i32.eqz
       (if (result i32)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 2)
        )
        (block (result i32)
         (i32.store
          (global.get $__asyncify_data)
          (i32.add
           (i32.load
            (global.get $__asyncify_data)
           )
           (i32.const -4)
          )
         )
         (i32.load
          (i32.load
           (global.get $__asyncify_data)
          )
         )
        )
        (local.get $0)
       )
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (drop
       (call $import2)
      )
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $calls-nothing (; 6 ;)
  (nop)
 )
 (func $many-locals (; 7 ;) (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -8)
     )
    )
    (local.set $0
     (i32.load
      (local.tee $1
       (i32.load
        (global.get $__asyncify_data)
       )
      )
     )
    )
    (local.set $1
     (i32.load offset=4
      (local.get $1)
     )
    )
   )
  )
  (local.set $2
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $2
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (loop $l
      (br_if $l
       (local.tee $1
        (i32.div_s
         (i32.add
          (local.get $1)
          (i32.const 1)
         )
         (i32.const 3)
        )
       )
      )
     )
    )
    (if
     (select
      (i32.eqz
       (local.get $2)
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (return
      (local.get $1)
     )
    )
    (unreachable)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $2)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (local.tee $2
    (i32.load
     (global.get $__asyncify_data)
    )
   )
   (local.get $0)
  )
  (i32.store offset=4
   (local.get $2)
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 8)
   )
  )
  (i32.const 0)
 )
 (func $calls-import2-if (; 8 ;) (param $0 i32)
  (local $1 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -4)
     )
    )
    (local.set $0
     (i32.load
      (i32.load
       (global.get $__asyncify_data)
      )
     )
    )
   )
  )
  (local.set $1
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $1
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.or
      (local.get $0)
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (select
       (i32.eqz
        (local.get $1)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (call $import)
       (drop
        (br_if $__asyncify_unwind
         (i32.const 0)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $calls-import2-if-else (; 9 ;) (param $0 i32)
  (local $1 i32)
  (local $2 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -8)
     )
    )
    (local.set $0
     (i32.load
      (local.tee $1
       (i32.load
        (global.get $__asyncify_data)
       )
      )
     )
    )
    (local.set $1
     (i32.load offset=4
      (local.get $1)
     )
    )
   )
  )
  (local.set $2
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $2
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.or
      (local.tee $1
       (select
        (local.get $1)
        (local.get $0)
        (global.get $__asyncify_state)
       )
      )
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (select
       (i32.eqz
        (local.get $2)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (call $import3
        (i32.const 1)
       )
       (drop
        (br_if $__asyncify_unwind
         (i32.const 0)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
      )
     )
    )
    (if
     (i32.or
      (i32.eqz
       (local.get $1)
      )
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (select
       (i32.eq
        (local.get $2)
        (i32.const 1)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (call $import3
        (i32.const 2)
       )
       (drop
        (br_if $__asyncify_unwind
         (i32.const 1)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $2)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (local.tee $2
    (i32.load
     (global.get $__asyncify_data)
    )
   )
   (local.get $0)
  )
  (i32.store offset=4
   (local.get $2)
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 8)
   )
  )
 )
 (func $calls-import2-if-else-oneside (; 10 ;) (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -8)
     )
    )
    (local.set $0
     (i32.load
      (local.tee $1
       (i32.load
        (global.get $__asyncify_data)
       )
      )
     )
    )
    (local.set $1
     (i32.load offset=4
      (local.get $1)
     )
    )
   )
  )
  (local.set $2
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $2
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.or
      (local.tee $1
       (select
        (local.get $1)
        (local.get $0)
        (global.get $__asyncify_state)
       )
      )
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (i32.eqz
       (global.get $__asyncify_state)
      )
      (return
       (i32.const 1)
      )
     )
    )
    (if
     (i32.or
      (i32.eqz
       (local.get $1)
      )
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (select
       (i32.eqz
        (local.get $2)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (call $import3
        (i32.const 2)
       )
       (drop
        (br_if $__asyncify_unwind
         (i32.const 0)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (return
      (i32.const 3)
     )
    )
    (unreachable)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $2)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (local.tee $2
    (i32.load
     (global.get $__asyncify_data)
    )
   )
   (local.get $0)
  )
  (i32.store offset=4
   (local.get $2)
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 8)
   )
  )
  (i32.const 0)
 )
 (func $calls-import2-if-else-oneside2 (; 11 ;) (param $0 i32) (result i32)
  (local $1 i32)
  (local $2 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -8)
     )
    )
    (local.set $0
     (i32.load
      (local.tee $1
       (i32.load
        (global.get $__asyncify_data)
       )
      )
     )
    )
    (local.set $1
     (i32.load offset=4
      (local.get $1)
     )
    )
   )
  )
  (local.set $2
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $2
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.or
      (local.tee $1
       (select
        (local.get $1)
        (local.get $0)
        (global.get $__asyncify_state)
       )
      )
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (select
       (i32.eqz
        (local.get $2)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (call $import3
        (i32.const 1)
       )
       (drop
        (br_if $__asyncify_unwind
         (i32.const 0)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
      )
     )
    )
    (if
     (i32.or
      (i32.eqz
       (local.get $1)
      )
      (i32.eq
       (global.get $__asyncify_state)
       (i32.const 2)
      )
     )
     (if
      (i32.eqz
       (global.get $__asyncify_state)
      )
      (return
       (i32.const 2)
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (return
      (i32.const 3)
     )
    )
    (unreachable)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $2)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (local.tee $2
    (i32.load
     (global.get $__asyncify_data)
    )
   )
   (local.get $0)
  )
  (i32.store offset=4
   (local.get $2)
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 8)
   )
  )
  (i32.const 0)
 )
 (func $calls-loop (; 12 ;) (param $0 i32)
  (local $1 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -4)
     )
    )
    (local.set $0
     (i32.load
      (i32.load
       (global.get $__asyncify_data)
      )
     )
    )
   )
  )
  (local.set $1
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $1
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (loop $l
     (if
      (select
       (i32.eqz
        (local.get $1)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (call $import3
        (i32.const 1)
       )
       (drop
        (br_if $__asyncify_unwind
         (i32.const 0)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
      )
     )
     (if
      (i32.eqz
       (global.get $__asyncify_state)
      )
      (br_if $l
       (local.tee $0
        (i32.add
         (local.get $0)
         (i32.const 1)
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $calls-loop2 (; 13 ;)
  (local $0 i32)
  (local $1 i32)
  (local $2 i32)
  (if
   (i32.eq
    (global.get $__asyncify_state)
    (i32.const 2)
   )
   (block
    (i32.store
     (global.get $__asyncify_data)
     (i32.add
      (i32.load
       (global.get $__asyncify_data)
      )
      (i32.const -4)
     )
    )
    (local.set $0
     (i32.load
      (i32.load
       (global.get $__asyncify_data)
      )
     )
    )
   )
  )
  (local.set $1
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $2
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (loop $l
     (if
      (select
       (i32.eqz
        (local.get $2)
       )
       (i32.const 1)
       (global.get $__asyncify_state)
      )
      (block
       (local.set $1
        (call $import2)
       )
       (drop
        (br_if $__asyncify_unwind
         (i32.const 0)
         (i32.eq
          (global.get $__asyncify_state)
          (i32.const 1)
         )
        )
       )
       (local.set $0
        (local.get $1)
       )
      )
     )
     (br_if $l
      (select
       (i32.eqz
        (global.get $__asyncify_state)
       )
       (i32.const 0)
       (local.get $0)
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $1)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $calls-mix (; 14 ;)
  (local $0 i32)
  (local.set $0
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $0
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (call $boring)
    )
    (if
     (select
      (i32.eqz
       (local.get $0)
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (call $boring)
    )
    (if
     (select
      (i32.eq
       (local.get $0)
       (i32.const 1)
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 1)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $boring (; 15 ;)
  (nop)
 )
 (func $calls-mix-deep (; 16 ;)
  (local $0 i32)
  (local.set $0
   (block $__asyncify_unwind (result i32)
    (if
     (i32.eq
      (global.get $__asyncify_state)
      (i32.const 2)
     )
     (block
      (i32.store
       (global.get $__asyncify_data)
       (i32.add
        (i32.load
         (global.get $__asyncify_data)
        )
        (i32.const -4)
       )
      )
      (local.set $0
       (i32.load
        (i32.load
         (global.get $__asyncify_data)
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (call $boring-deep)
    )
    (if
     (select
      (i32.eqz
       (local.get $0)
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import-deep)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (if
     (i32.eqz
      (global.get $__asyncify_state)
     )
     (call $boring)
    )
    (if
     (select
      (i32.eq
       (local.get $0)
       (i32.const 1)
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 1)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $boring-deep (; 17 ;)
  (call $boring)
 )
 (func $import-deep (; 18 ;)
  (local $0 i32)
  (local.set $0
   (block $__asyncify_unwind (result i32)
    (if
     (select
      (i32.eqz
       (if (result i32)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 2)
        )
        (block (result i32)
         (i32.store
          (global.get $__asyncify_data)
          (i32.add
           (i32.load
            (global.get $__asyncify_data)
           )
           (i32.const -4)
          )
         )
         (i32.load
          (i32.load
           (global.get $__asyncify_data)
          )
         )
        )
        (local.get $0)
       )
      )
      (i32.const 1)
      (global.get $__asyncify_state)
     )
     (block
      (call $import)
      (drop
       (br_if $__asyncify_unwind
        (i32.const 0)
        (i32.eq
         (global.get $__asyncify_state)
         (i32.const 1)
        )
       )
      )
     )
    )
    (return)
   )
  )
  (i32.store
   (i32.load
    (global.get $__asyncify_data)
   )
   (local.get $0)
  )
  (i32.store
   (global.get $__asyncify_data)
   (i32.add
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.const 4)
   )
  )
 )
 (func $asyncify_start_unwind (; 19 ;) (param $0 i32)
  (global.set $__asyncify_state
   (i32.const 1)
  )
  (global.set $__asyncify_data
   (local.get $0)
  )
  (if
   (i32.gt_u
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.load offset=4
     (global.get $__asyncify_data)
    )
   )
   (unreachable)
  )
 )
 (func $asyncify_stop_unwind (; 20 ;)
  (global.set $__asyncify_state
   (i32.const 0)
  )
  (if
   (i32.gt_u
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.load offset=4
     (global.get $__asyncify_data)
    )
   )
   (unreachable)
  )
 )
 (func $asyncify_start_rewind (; 21 ;) (param $0 i32)
  (global.set $__asyncify_state
   (i32.const 2)
  )
  (global.set $__asyncify_data
   (local.get $0)
  )
  (if
   (i32.gt_u
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.load offset=4
     (global.get $__asyncify_data)
    )
   )
   (unreachable)
  )
 )
 (func $asyncify_stop_rewind (; 22 ;)
  (global.set $__asyncify_state
   (i32.const 0)
  )
  (if
   (i32.gt_u
    (i32.load
     (global.get $__asyncify_data)
    )
    (i32.load offset=4
     (global.get $__asyncify_data)
    )
   )
   (unreachable)
  )
 )
)
