(module
 (type $none_=>_none (func))
 (type $i32_=>_none (func (param i32)))
 (type $i32_f32_=>_none (func (param i32 f32)))
 (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
 (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32)))
 (import "env" "_emscripten_autodebug_i32" (func $_emscripten_autodebug_i32 (param i32 i32) (result i32)))
 (memory $0 10)
 (func $nothing-to-do (; 1 ;)
  (local $0 i32)
  (nop)
 )
 (func $merge (; 2 ;)
  (local $0 i32)
  (nop)
 )
 (func $leave-type (; 3 ;)
  (local $0 i32)
  (local $1 f32)
  (nop)
 )
 (func $leave-interfere (; 4 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (local.set $1
   (i32.const 0)
  )
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $almost-interfere (; 5 ;)
  (local $0 i32)
  (local.set $0
   (i32.const 0)
  )
  (drop
   (local.get $0)
  )
  (local.set $0
   (i32.const 0)
  )
  (drop
   (local.get $0)
  )
 )
 (func $redundant-copy (; 6 ;)
  (local $0 i32)
  (local.set $0
   (i32.const 0)
  )
  (nop)
  (drop
   (local.get $0)
  )
 )
 (func $ineffective-store (; 7 ;)
  (local $0 i32)
  (drop
   (i32.const 0)
  )
  (local.set $0
   (i32.const 0)
  )
  (drop
   (local.get $0)
  )
 )
 (func $block (; 8 ;)
  (local $0 i32)
  (block $block0
   (local.set $0
    (i32.const 0)
   )
  )
  (drop
   (local.get $0)
  )
 )
 (func $see-both-sides (; 9 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (block $block0
   (local.set $1
    (i32.const 0)
   )
  )
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $see-br-and-ignore-dead (; 10 ;)
  (local $0 i32)
  (local.set $0
   (i32.const 0)
  )
  (block $block
   (br $block)
   (drop
    (i32.const 0)
   )
   (drop
    (i32.const 0)
   )
   (drop
    (i32.const -1)
   )
  )
  (drop
   (local.get $0)
  )
 )
 (func $see-block-body (; 11 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (block $block
   (local.set $1
    (i32.const 0)
   )
   (drop
    (local.get $1)
   )
   (br $block)
  )
  (drop
   (local.get $0)
  )
 )
 (func $zero-init (; 12 ;)
  (local $0 i32)
  (local $1 i32)
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $multi (; 13 ;)
  (local $0 i32)
  (local $1 i32)
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $if-else (; 14 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.const 0)
   (drop
    (local.get $0)
   )
   (drop
    (local.get $1)
   )
  )
 )
 (func $if-else-parallel (; 15 ;)
  (local $0 i32)
  (if
   (i32.const 0)
   (block $block1
    (local.set $0
     (i32.const 0)
    )
    (drop
     (local.get $0)
    )
   )
   (block $block3
    (local.set $0
     (i32.const 1)
    )
    (drop
     (local.get $0)
    )
   )
  )
 )
 (func $if-else-after (; 16 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.const 0)
   (local.set $0
    (i32.const 0)
   )
   (local.set $1
    (i32.const 1)
   )
  )
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $if-else-through (; 17 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (local.set $1
   (i32.const 1)
  )
  (if
   (i32.const 0)
   (drop
    (i32.const 1)
   )
   (drop
    (i32.const 2)
   )
  )
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $if-through (; 18 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (local.set $1
   (i32.const 1)
  )
  (if
   (i32.const 0)
   (drop
    (i32.const 1)
   )
  )
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $if-through2 (; 19 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (if
   (i32.const 0)
   (local.set $1
    (i32.const 1)
   )
  )
  (drop
   (local.get $0)
  )
  (drop
   (local.get $1)
  )
 )
 (func $if-through3 (; 20 ;)
  (local $0 i32)
  (local $1 i32)
  (local.set $0
   (i32.const 0)
  )
  (if
   (i32.const 0)
   (block $block1
    (drop
     (local.get $0)
    )
    (drop
     (local.get $1)
    )
   )
  )
 )
 (func $if2 (; 21 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (local.tee $0
    (i32.const 0)
   )
   (block $block1
    (drop
     (local.get $0)
    )
    (drop
     (local.get $1)
    )
   )
  )
 )
 (func $if3 (; 22 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.const 0)
   (block $block1
    (local.set $0
     (i32.const 0)
    )
    (drop
     (local.get $0)
    )
   )
  )
  (drop
   (local.get $1)
  )
 )
 (func $if4 (; 23 ;)
  (local $0 i32)
  (if
   (i32.const 0)
   (block $block1
    (local.set $0
     (i32.const 0)
    )
    (drop
     (local.get $0)
    )
    (local.set $0
     (i32.const 1)
    )
   )
  )
  (drop
   (local.get $0)
  )
 )
 (func $if5 (; 24 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.const 0)
   (block $block1
    (drop
     (local.get $0)
    )
    (local.set $1
     (i32.const 1)
    )
   )
  )
  (drop
   (local.get $1)
  )
 )
 (func $loop (; 25 ;)
  (local $0 i32)
  (local $1 i32)
  (block $out
   (loop $in
    (drop
     (local.get $0)
    )
    (local.set $0
     (i32.const 0)
    )
    (drop
     (local.get $1)
    )
    (br $in)
   )
  )
 )
 (func $interfere-in-dead (; 26 ;)
  (local $0 i32)
  (block $block
   (br $block)
   (drop
    (i32.const 0)
   )
   (drop
    (i32.const 0)
   )
  )
 )
 (func $interfere-in-dead2 (; 27 ;)
  (local $0 i32)
  (block $block
   (unreachable)
   (drop
    (i32.const 0)
   )
   (drop
    (i32.const 0)
   )
  )
 )
 (func $interfere-in-dead3 (; 28 ;)
  (local $0 i32)
  (block $block
   (return)
   (drop
    (i32.const 0)
   )
   (drop
    (i32.const 0)
   )
  )
 )
 (func $params (; 29 ;) (param $0 i32) (param $1 f32)
  (local $2 i32)
  (local $3 i32)
  (local $4 i32)
  (drop
   (local.get $2)
  )
  (drop
   (local.get $3)
  )
  (drop
   (local.get $4)
  )
 )
 (func $interfere-in-dead4 (; 30 ;)
  (local $0 i32)
  (local $1 i32)
  (block $block
   (br_if $block
    (i32.const 0)
   )
   (drop
    (local.get $0)
   )
   (drop
    (local.get $1)
   )
  )
 )
 (func $switch (; 31 ;)
  (local $0 i32)
  (local $1 i32)
  (local $2 i32)
  (block $switch$def
   (block $switch-case$1
    (block $switch-case$2
     (br_table $switch-case$1 $switch-case$2 $switch-case$1 $switch-case$1 $switch$def
      (i32.const 100)
     )
     (drop
      (i32.const 0)
     )
    )
    (drop
     (local.get $0)
    )
   )
   (drop
    (local.get $1)
   )
  )
  (drop
   (local.get $2)
  )
 )
 (func $greedy-can-be-happy (; 32 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.const 0)
   (if
    (i32.const 1)
    (if
     (i32.const 2)
     (block $block3
      (local.set $0
       (i32.const 100)
      )
      (local.set $1
       (i32.const 101)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
     (block $block5
      (local.set $0
       (i32.const 102)
      )
      (local.set $1
       (i32.const 103)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
    )
    (if
     (i32.const 3)
     (block $block8
      (local.set $0
       (i32.const 104)
      )
      (local.set $1
       (i32.const 105)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
     (block $block10
      (local.set $0
       (i32.const 106)
      )
      (local.set $1
       (i32.const 107)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
    )
   )
   (if
    (i32.const 4)
    (block $block13
     (local.set $0
      (i32.const 108)
     )
     (local.set $1
      (i32.const 109)
     )
     (drop
      (local.get $0)
     )
     (drop
      (local.get $1)
     )
    )
    (block $block15
     (local.set $0
      (i32.const 110)
     )
     (local.set $1
      (i32.const 111)
     )
     (drop
      (local.get $0)
     )
     (drop
      (local.get $1)
     )
    )
   )
  )
 )
 (func $greedy-can-be-sad (; 33 ;)
  (local $0 i32)
  (local $1 i32)
  (if
   (i32.const 0)
   (if
    (i32.const 1)
    (if
     (i32.const 2)
     (block $block3
      (local.set $0
       (i32.const 100)
      )
      (local.set $1
       (i32.const 101)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
     (block $block5
      (local.set $0
       (i32.const 102)
      )
      (local.set $1
       (i32.const 103)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
    )
    (if
     (i32.const 3)
     (block $block8
      (local.set $0
       (i32.const 104)
      )
      (local.set $1
       (i32.const 105)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
     (block $block10
      (local.set $0
       (i32.const 106)
      )
      (local.set $1
       (i32.const 107)
      )
      (drop
       (local.get $0)
      )
      (drop
       (local.get $1)
      )
     )
    )
   )
   (if
    (i32.const 4)
    (block $block13
     (local.set $0
      (i32.const 108)
     )
     (local.set $1
      (i32.const 109)
     )
     (drop
      (local.get $0)
     )
     (drop
      (local.get $1)
     )
    )
    (block $block15
     (local.set $0
      (i32.const 110)
     )
     (local.set $1
      (i32.const 111)
     )
     (drop
      (local.get $0)
     )
     (drop
      (local.get $1)
     )
    )
   )
  )
 )
 (func $_memcpy (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
  (local $3 i32)
  (if
   (i32.ge_s
    (local.get $2)
    (i32.const 4096)
   )
   (drop
    (local.get $0)
   )
  )
  (local.set $3
   (local.get $0)
  )
  (if
   (i32.eq
    (i32.and
     (local.get $0)
     (i32.const 3)
    )
    (i32.and
     (local.get $1)
     (i32.const 3)
    )
   )
   (block $block2
    (block $while-out$0
     (loop $while-in$1
      (if
       (i32.eqz
        (i32.and
         (local.get $0)
         (i32.const 3)
        )
       )
       (br $while-out$0)
      )
      (block $block4
       (if
        (i32.eqz
         (local.get $2)
        )
        (return
         (local.get $3)
        )
       )
       (i32.store8
        (local.get $0)
        (i32.load8_s
         (local.get $1)
        )
       )
       (local.set $0
        (i32.add
         (local.get $0)
         (i32.const 1)
        )
       )
       (local.set $1
        (i32.add
         (local.get $1)
         (i32.const 1)
        )
       )
       (local.set $2
        (i32.sub
         (local.get $2)
         (i32.const 1)
        )
       )
      )
      (br $while-in$1)
     )
    )
    (block $while-out$2
     (loop $while-in$3
      (if
       (i32.eqz
        (i32.ge_s
         (local.get $2)
         (i32.const 4)
        )
       )
       (br $while-out$2)
      )
      (block $block7
       (i32.store
        (local.get $0)
        (i32.load
         (local.get $1)
        )
       )
       (local.set $0
        (i32.add
         (local.get $0)
         (i32.const 4)
        )
       )
       (local.set $1
        (i32.add
         (local.get $1)
         (i32.const 4)
        )
       )
       (local.set $2
        (i32.sub
         (local.get $2)
         (i32.const 4)
        )
       )
      )
      (br $while-in$3)
     )
    )
   )
  )
  (block $while-out$4
   (loop $while-in$5
    (if
     (i32.eqz
      (i32.gt_s
       (local.get $2)
       (i32.const 0)
      )
     )
     (br $while-out$4)
    )
    (block $block9
     (i32.store8
      (local.get $0)
      (i32.load8_s
       (local.get $1)
      )
     )
     (local.set $0
      (i32.add
       (local.get $0)
       (i32.const 1)
      )
     )
     (local.set $1
      (i32.add
       (local.get $1)
       (i32.const 1)
      )
     )
     (local.set $2
      (i32.sub
       (local.get $2)
       (i32.const 1)
      )
     )
    )
    (br $while-in$5)
   )
  )
  (return
   (local.get $3)
  )
 )
 (func $this-is-effective-i-tell-you (; 35 ;) (param $0 i32)
  (if
   (i32.const -1)
   (block $block1
    (if
     (i32.const 0)
     (nop)
    )
    (local.set $0
     (i32.const 1)
    )
   )
   (nop)
  )
  (drop
   (local.get $0)
  )
 )
)
