(module
 (type $0 (func (result i32)))
 (type $1 (func (result i64)))
 (type $2 (func (result f32)))
 (type $3 (func (result f64)))
 (type $4 (func (param i32) (result i32)))
 (type $5 (func (param i64) (result i64)))
 (type $6 (func (param f32) (result f32)))
 (type $7 (func (param f64) (result f64)))
 (type $8 (func (param i64 f32 f64 i32 i32)))
 (type $9 (func (param i64 f32 f64 i32 i32) (result f64)))
 (export "type-local-i32" (func $0))
 (export "type-local-i64" (func $1))
 (export "type-local-f32" (func $2))
 (export "type-local-f64" (func $3))
 (export "type-param-i32" (func $4))
 (export "type-param-i64" (func $5))
 (export "type-param-f32" (func $6))
 (export "type-param-f64" (func $7))
 (export "type-mixed" (func $8))
 (export "read" (func $9))
 (func $0 (result i32)
  (local $0 i32)
  (local $1 i32)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $1 (result i64)
  (local $0 i64)
  (local $1 i64)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $2 (result f32)
  (local $0 f32)
  (local $1 f32)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $3 (result f64)
  (local $0 f64)
  (local $1 f64)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $4 (param $0 i32) (result i32)
  (local $1 i32)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $5 (param $0 i64) (result i64)
  (local $1 i64)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $6 (param $0 f32) (result f32)
  (local $1 f32)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $7 (param $0 f64) (result f64)
  (local $1 f64)
  (local.set $1
   (local.get $0)
  )
  (return
   (local.get $1)
  )
 )
 (func $8 (param $0 i64) (param $1 f32) (param $2 f64) (param $3 i32) (param $4 i32)
  (local $5 i64)
  (local $6 i64)
  (local $7 f32)
  (local $8 f64)
  (local $9 f32)
  (local $10 f32)
  (local $11 f64)
  (local $12 f64)
  (local $13 i32)
  (local $14 i32)
  (local $15 i32)
  (local $16 i32)
  (local $17 f32)
  (local $18 f32)
  (local $19 i64)
  (local $20 i32)
  (local $21 i64)
  (local $22 i32)
  (local $23 f64)
  (local $24 f64)
  (block
   (nop)
   (unreachable)
   (i64.eqz
    (unreachable)
   )
   (drop
    (unreachable)
   )
   (unreachable)
   (local.set $9
    (local.get $1)
   )
   (local.set $10
    (f32.neg
     (local.get $9)
    )
   )
   (drop
    (local.get $10)
   )
   (local.set $11
    (local.get $2)
   )
   (local.set $12
    (f64.neg
     (local.get $11)
    )
   )
   (drop
    (local.get $12)
   )
   (local.set $13
    (local.get $3)
   )
   (local.set $14
    (i32.eqz
     (local.get $13)
    )
   )
   (drop
    (local.get $14)
   )
   (local.set $15
    (local.get $4)
   )
   (local.set $16
    (i32.eqz
     (local.get $15)
    )
   )
   (drop
    (local.get $16)
   )
   (local.set $17
    (local.get $7)
   )
   (local.set $18
    (f32.neg
     (local.get $17)
    )
   )
   (drop
    (local.get $18)
   )
   (local.set $19
    (local.get $5)
   )
   (local.set $20
    (i64.eqz
     (local.get $19)
    )
   )
   (drop
    (local.get $20)
   )
   (local.set $21
    (local.get $6)
   )
   (local.set $22
    (i64.eqz
     (local.get $21)
    )
   )
   (drop
    (local.get $22)
   )
   (local.set $23
    (local.get $8)
   )
   (local.set $24
    (f64.neg
     (local.get $23)
    )
   )
   (drop
    (local.get $24)
   )
  )
  (unreachable)
 )
 (func $9 (param $0 i64) (param $1 f32) (param $2 f64) (param $3 i32) (param $4 i32) (result f64)
  (local $5 i64)
  (local $6 i64)
  (local $7 f32)
  (local $8 f64)
  (local $9 i64)
  (local $10 f64)
  (local $11 f32)
  (local $12 f64)
  (local $13 f64)
  (local $14 i32)
  (local $15 f64)
  (local $16 i32)
  (local $17 f64)
  (local $18 f32)
  (local $19 f64)
  (local $20 i64)
  (local $21 f64)
  (local $22 i64)
  (local $23 f64)
  (local $24 f64)
  (local $25 f64)
  (local $26 f64)
  (local $27 f64)
  (local $28 f64)
  (local $29 f64)
  (local $30 f64)
  (local $31 f64)
  (local $32 f64)
  (local $33 f64)
  (local $34 f64)
  (block
   (local.set $7
    (f32.const 5.5)
   )
   (local.set $5
    (i64.const 6)
   )
   (local.set $8
    (f64.const 8)
   )
   (local.set $9
    (local.get $0)
   )
   (local.set $10
    (f64.convert_i64_u
     (local.get $9)
    )
   )
   (local.set $11
    (local.get $1)
   )
   (local.set $12
    (f64.promote_f32
     (local.get $11)
    )
   )
   (local.set $13
    (local.get $2)
   )
   (local.set $14
    (local.get $3)
   )
   (local.set $15
    (f64.convert_i32_u
     (local.get $14)
    )
   )
   (local.set $16
    (local.get $4)
   )
   (local.set $17
    (f64.convert_i32_s
     (local.get $16)
    )
   )
   (local.set $18
    (local.get $7)
   )
   (local.set $19
    (f64.promote_f32
     (local.get $18)
    )
   )
   (local.set $20
    (local.get $5)
   )
   (local.set $21
    (f64.convert_i64_u
     (local.get $20)
    )
   )
   (local.set $22
    (local.get $6)
   )
   (local.set $23
    (f64.convert_i64_u
     (local.get $22)
    )
   )
   (local.set $24
    (local.get $8)
   )
   (local.set $25
    (f64.add
     (local.get $23)
     (local.get $24)
    )
   )
   (local.set $26
    (f64.add
     (local.get $21)
     (local.get $25)
    )
   )
   (local.set $27
    (f64.add
     (local.get $19)
     (local.get $26)
    )
   )
   (local.set $28
    (f64.add
     (local.get $17)
     (local.get $27)
    )
   )
   (local.set $29
    (f64.add
     (local.get $15)
     (local.get $28)
    )
   )
   (local.set $30
    (f64.add
     (local.get $13)
     (local.get $29)
    )
   )
   (local.set $31
    (f64.add
     (local.get $12)
     (local.get $30)
    )
   )
   (local.set $32
    (f64.add
     (local.get $10)
     (local.get $31)
    )
   )
   (local.set $33
    (local.get $32)
   )
  )
  (local.set $34
   (local.get $33)
  )
  (return
   (local.get $34)
  )
 )
)
