(module (func $dummy) (func (export "f32.add") (param $0 f32) (param $1 f32) (result f32) (f32.add (local.get $0) (local.get $1))) (func (export "f32.sub") (param $0 f32) (param $1 f32) (result f32) (f32.sub (local.get $0) (local.get $1))) (func (export "f32.mul") (param $0 f32) (param $1 f32) (result f32) (f32.mul (local.get $0) (local.get $1))) (func (export "f32.div") (param $0 f32) (param $1 f32) (result f32) (f32.div (local.get $0) (local.get $1))) (func (export "f64.add") (param $0 f64) (param $1 f64) (result f64) (f64.add (local.get $0) (local.get $1))) (func (export "f64.sub") (param $0 f64) (param $1 f64) (result f64) (f64.sub (local.get $0) (local.get $1))) (func (export "f64.mul") (param $0 f64) (param $1 f64) (result f64) (f64.mul (local.get $0) (local.get $1))) (func (export "f64.div") (param $0 f64) (param $1 f64) (result f64) (f64.div (local.get $0) (local.get $1))) ;; comparisons (func (export "f32.eq") (param $0 f32) (param $1 f32) (result i32) (f32.eq (local.get $0) (local.get $1))) (func (export "f32.ne") (param $0 f32) (param $1 f32) (result i32) (f32.ne (local.get $0) (local.get $1))) (func (export "f32.ge") (param $0 f32) (param $1 f32) (result i32) (f32.ge (local.get $0) (local.get $1))) (func (export "f32.gt") (param $0 f32) (param $1 f32) (result i32) (f32.gt (local.get $0) (local.get $1))) (func (export "f32.le") (param $0 f32) (param $1 f32) (result i32) (f32.le (local.get $0) (local.get $1))) (func (export "f32.lt") (param $0 f32) (param $1 f32) (result i32) (f32.lt (local.get $0) (local.get $1))) (func (export "f64.eq") (param $0 f64) (param $1 f64) (result i32) (f64.eq (local.get $0) (local.get $1))) (func (export "f64.ne") (param $0 f64) (param $1 f64) (result i32) (f64.ne (local.get $0) (local.get $1))) (func (export "f64.ge") (param $0 f64) (param $1 f64) (result i32) (f64.ge (local.get $0) (local.get $1))) (func (export "f64.gt") (param $0 f64) (param $1 f64) (result i32) (f64.gt (local.get $0) (local.get $1))) (func (export "f64.le") (param $0 f64) (param $1 f64) (result i32) (f64.le (local.get $0) (local.get $1))) (func (export "f64.lt") (param $0 f64) (param $1 f64) (result i32) (f64.lt (local.get $0) (local.get $1))) ;; min/max (func (export "f32.min") (param $0 f32) (param $1 f32) (result f32) (f32.min (local.get $0) (local.get $1))) (func (export "f32.max") (param $0 f32) (param $1 f32) (result f32) (f32.max (local.get $0) (local.get $1))) (func (export "f64.min") (param $0 f64) (param $1 f64) (result f64) (f64.min (local.get $0) (local.get $1))) (func (export "f64.max") (param $0 f64) (param $1 f64) (result f64) (f64.max (local.get $0) (local.get $1))) ;; promotion/demotion (func (export "f64.promote") (param $0 f32) (result f64) (f64.promote_f32 (local.get $0))) (func (export "f32.demote") (param $0 f64) (result f32) (f32.demote_f64 (local.get $0))) ;; floor/ceil (func (export "f32.floor") (param $0 f32) (result f32) (f32.floor (local.get $0))) (func (export "f32.ceil") (param $0 f32) (result f32) (f32.ceil (local.get $0))) (func (export "f64.floor") (param $0 f64) (result f64) (f64.floor (local.get $0))) (func (export "f64.ceil") (param $0 f64) (result f64) (f64.ceil (local.get $0))) ;; sqrt (func (export "f32.sqrt") (param $0 f32) (result f32) (f32.sqrt (local.get $0))) (func (export "f64.sqrt") (param $0 f64) (result f64) (f64.sqrt (local.get $0))) ;; copysign (func $copysign64 (param $0 f64) (param $1 f64) (result f64) (f64.copysign (local.get $0) (local.get $1))) (func $copysign32 (param $0 f32) (param $1 f32) (result f32) (f32.copysign (local.get $0) (local.get $1))) ;; float<->int (func (export "i32_to_f32") (param $0 i32) (result f32) (f32.convert_i32_s (local.get $0))) (func (export "i32_to_f64") (param $0 i32) (result f64) (f64.convert_i32_s (local.get $0))) (func (export "u32_to_f32") (param $0 i32) (result f32) (f32.convert_i32_u (local.get $0))) (func (export "u32_to_f64") (param $0 i32) (result f64) (f64.convert_i32_u (local.get $0))) (func (export "f32_to_i32") (param $0 f32) (result i32) (i32.trunc_f32_s (local.get $0))) (func (export "f64_to_i32") (param $0 f64) (result i32) (i32.trunc_f64_s (local.get $0))) (func (export "f32_to_u32") (param $0 f32) (result i32) (i32.trunc_f32_u (local.get $0))) (func (export "f64_to_u32") (param $0 f64) (result i32) (i32.trunc_f64_u (local.get $0))) (func (export "i64_to_f32") (param $0 i64) (result f32) (f32.convert_i64_s (local.get $0))) (func (export "i64_to_f64") (param $0 i64) (result f64) (f64.convert_i64_s (local.get $0))) (func (export "u64_to_f32") (param $0 i64) (result f32) (f32.convert_i64_u (local.get $0))) (func (export "u64_to_f64") (param $0 i64) (result f64) (f64.convert_i64_u (local.get $0))) (func (export "f32_to_i64") (param $0 f32) (result i32) (i64.eq (i64.trunc_f32_s (local.get $0)) (i64.const 0))) (func (export "f64_to_i64") (param $0 f64) (result i32) (i64.eq (i64.trunc_f64_s (local.get $0)) (i64.const 0))) (func (export "f32_to_u64") (param $0 f32) (result i32) (i64.eq (i64.trunc_f32_u (local.get $0)) (i64.const 0))) (func (export "f64_to_u64") (param $0 f64) (result i32) (i64.eq (i64.trunc_f64_u (local.get $0)) (i64.const 0))) )