(module
 (type $i32_f32_=>_none (func (param i32 f32)))
 (type $none_=>_none (func))
 (type $i32_i32_f32_=>_none (func (param i32 i32 f32)))
 (type $f64_f64_=>_f64 (func (param f64 f64) (result f64)))
 (import "global.Math" "pow" (func $Math_pow (param f64 f64) (result f64)))
 (import "env" "invoke_vif" (func $invoke_vif (param i32 i32 f32)))
 (memory $0 256 256)
 (table $0 7 7 funcref)
 (elem (i32.const 0) $pow2 $pow.2 $exc $other_safe $other_unsafe $deep_safe $deep_unsafe)
 (func $pow2 (; 2 ;)
  (local $x f64)
  (local $y f64)
  (local $2 f64)
  (local $3 f64)
  (drop
   (f64.mul
    (local.tee $2
     (f64.const 1)
    )
    (local.get $2)
   )
  )
  (drop
   (call $Math_pow
    (f64.const 1)
    (f64.const 3)
   )
  )
  (drop
   (call $Math_pow
    (f64.const 2)
    (f64.const 1)
   )
  )
  (local.set $x
   (f64.const 5)
  )
  (drop
   (f64.mul
    (local.get $x)
    (local.get $x)
   )
  )
  (drop
   (f64.mul
    (local.tee $y
     (f64.const 7)
    )
    (local.get $y)
   )
  )
  (drop
   (f64.mul
    (local.tee $3
     (f64.const 8)
    )
    (local.get $3)
   )
  )
 )
 (func $pow.2 (; 3 ;)
  (drop
   (f64.sqrt
    (f64.const 1)
   )
  )
  (drop
   (call $Math_pow
    (f64.const 1)
    (f64.const 0.51)
   )
  )
 )
 (func $exc (; 4 ;)
  (call $other_safe
   (i32.const 42)
   (f32.const 3.141590118408203)
  )
  (call $invoke_vif
   (i32.const 4)
   (i32.const 55)
   (f32.const 2.1828181743621826)
  )
  (call $deep_safe
   (i32.const 100)
   (f32.const 1.1109999418258667)
  )
  (call $invoke_vif
   (i32.const 6)
   (i32.const 999)
   (f32.const 1.4140000343322754)
  )
  (call $invoke_vif
   (i32.add
    (i32.const 1)
    (i32.const 1)
   )
   (i32.const 42)
   (f32.const 3.141590118408203)
  )
 )
 (func $other_safe (; 5 ;) (param $0 i32) (param $1 f32)
  (nop)
 )
 (func $other_unsafe (; 6 ;) (param $0 i32) (param $1 f32)
  (drop
   (call $Math_pow
    (f64.const 1)
    (f64.const 3)
   )
  )
 )
 (func $deep_safe (; 7 ;) (param $0 i32) (param $1 f32)
  (call $other_safe
   (unreachable)
   (unreachable)
  )
 )
 (func $deep_unsafe (; 8 ;) (param $0 i32) (param $1 f32)
  (call $other_unsafe
   (unreachable)
   (unreachable)
  )
 )
)
(module
 (type $none_=>_none (func))
 (func $call (; 0 ;)
  (call $call)
 )
)
(module
 (type $none_=>_none (func))
 (type $i32_i32_f32_=>_none (func (param i32 i32 f32)))
 (type $i32_f32_=>_none (func (param i32 f32)))
 (type $f64_f64_=>_f64 (func (param f64 f64) (result f64)))
 (import "env" "glob" (global $glob i32))
 (import "global.Math" "pow" (func $Math_pow (param f64 f64) (result f64)))
 (import "env" "invoke_vif" (func $invoke_vif (param i32 i32 f32)))
 (memory $0 256 256)
 (table $0 7 7 funcref)
 (elem (global.get $glob) $other_safe)
 (func $exc (; 2 ;)
  (call $invoke_vif
   (i32.const 3)
   (i32.const 42)
   (f32.const 3.141590118408203)
  )
 )
 (func $other_safe (; 3 ;) (param $0 i32) (param $1 f32)
  (nop)
 )
)
(module
 (type $none_=>_none (func))
 (type $i32_i32_f32_=>_none (func (param i32 i32 f32)))
 (type $i32_f32_=>_none (func (param i32 f32)))
 (type $f64_f64_=>_f64 (func (param f64 f64) (result f64)))
 (import "env" "glob" (global $glob i32))
 (import "global.Math" "pow" (func $Math_pow (param f64 f64) (result f64)))
 (import "env" "invoke_vif" (func $invoke_vif (param i32 i32 f32)))
 (memory $0 256 256)
 (table $0 7 7 funcref)
 (elem (i32.const 0) $other_safe)
 (func $exc (; 2 ;)
  (call $invoke_vif
   (i32.const 0)
   (i32.const 42)
   (f32.const 3.141590118408203)
  )
 )
 (func $other_safe (; 3 ;) (param $0 i32) (param $1 f32)
  (call_indirect (type $none_=>_none)
   (i32.const 0)
  )
 )
)
