(module
 (type $none_=>_i32 (func (result i32)))
 (type $i32_f32_=>_none (func (param i32 f32)))
 (type $i32_i32_=>_f32 (func (param i32 i32) (result f32)))
 (type $f32_=>_f32 (func (param f32) (result f32)))
 (import "env" "memory" (memory $memory 256 256))
 (data (global.get $__memory_base) "min.asm.js")
 (import "env" "__memory_base" (global $__memory_base i32))
 (export "floats" (func $floats))
 (export "getTempRet0" (func $ub))
 (export "neg" (func $neg))
 (export "bitcasts" (func $bitcasts))
 (export "ctzzzz" (func $ctzzzz))
 (func $floats (; has Stack IR ;) (param $0 f32) (result f32)
  (f32.add
   (f32.const 0)
   (local.get $0)
  )
 )
 (func $neg (; has Stack IR ;) (param $0 i32) (param $1 i32) (result f32)
  (i32.store
   (local.get $0)
   (local.get $1)
  )
  (f32.neg
   (f32.load
    (local.get $0)
   )
  )
 )
 (func $bitcasts (; has Stack IR ;) (param $0 i32) (param $1 f32)
  (nop)
 )
 (func $ctzzzz (; has Stack IR ;) (result i32)
  (i32.const 2)
 )
 (func $ub (; has Stack IR ;) (result i32)
  (drop
   (call $ub)
  )
  (i32.const 0)
 )
)
