(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))
 (export "floats" (func $floats))
 (export "getTempRet0" (func $ub))
 (export "neg" (func $neg))
 (export "bitcasts" (func $bitcasts))
 (export "ctzzzz" (func $ctzzzz))
 (func $floats (; 0 ;) (; has Stack IR ;) (param $0 f32) (result f32)
  (f32.add
   (f32.const 0)
   (local.get $0)
  )
 )
 (func $neg (; 1 ;) (; 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 (; 2 ;) (; has Stack IR ;) (param $0 i32) (param $1 f32)
  (nop)
 )
 (func $ctzzzz (; 3 ;) (; has Stack IR ;) (result i32)
  (i32.const 2)
 )
 (func $ub (; 4 ;) (; has Stack IR ;) (result i32)
  (drop
   (call $ub)
  )
  (i32.const 0)
 )
)
