919 lines
22 KiB
Plaintext
919 lines
22 KiB
Plaintext
(module $cosf.wasm
|
|
(type (;0;) (func (param i32 i32)))
|
|
(type (;1;) (func))
|
|
(type (;2;) (func (result i32)))
|
|
(type (;3;) (func (param f32 i32) (result i32)))
|
|
(type (;4;) (func (param f32) (result f32)))
|
|
(import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
|
|
(func $__wasm_apply_data_relocs (type 1))
|
|
(func $cosf_main (type 1)
|
|
(local f32)
|
|
i32.const 100
|
|
i32.const 100
|
|
call $__pragma_loopbound
|
|
f32.const 0x0p+0 (;=0;)
|
|
local.set 0
|
|
loop ;; label = @1
|
|
i32.const 0
|
|
local.get 0
|
|
call $basicmath___cosf
|
|
i32.const 0
|
|
f32.load offset=1152
|
|
f32.add
|
|
f32.store offset=1152
|
|
local.get 0
|
|
f32.const 0x1.99999ap-4 (;=0.1;)
|
|
f32.add
|
|
local.tee 0
|
|
f32.const 0x1.4p+3 (;=10;)
|
|
f32.lt
|
|
br_if 0 (;@1;)
|
|
end)
|
|
(func $__original_main (type 2) (result i32)
|
|
(local f32 i32)
|
|
i32.const 0
|
|
i32.const 0
|
|
i32.store offset=1152
|
|
call $cosf_main
|
|
block ;; label = @1
|
|
block ;; label = @2
|
|
i32.const 0
|
|
f32.load offset=1152
|
|
local.tee 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@2;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 1
|
|
br 1 (;@1;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 1
|
|
end
|
|
i32.const -1
|
|
i32.const 0
|
|
local.get 1
|
|
i32.const -4
|
|
i32.ne
|
|
select)
|
|
(func $basicmath___ieee754_rem_pio2f (type 3) (param f32 i32) (result i32)
|
|
(local f32 i32 i32 i32 f32 f32 f32)
|
|
block ;; label = @1
|
|
local.get 0
|
|
f32.abs
|
|
local.tee 2
|
|
i32.reinterpret_f32
|
|
local.tee 3
|
|
i32.const 1061752792
|
|
i32.gt_u
|
|
br_if 0 (;@1;)
|
|
local.get 1
|
|
i32.const 0
|
|
i32.store offset=4
|
|
local.get 1
|
|
local.get 0
|
|
f32.store
|
|
i32.const 0
|
|
return
|
|
end
|
|
local.get 0
|
|
i32.reinterpret_f32
|
|
local.set 4
|
|
block ;; label = @1
|
|
local.get 3
|
|
i32.const 1075235811
|
|
i32.gt_u
|
|
br_if 0 (;@1;)
|
|
local.get 3
|
|
i32.const 2147483632
|
|
i32.and
|
|
local.set 3
|
|
block ;; label = @2
|
|
local.get 4
|
|
i32.const 1
|
|
i32.lt_s
|
|
br_if 0 (;@2;)
|
|
local.get 0
|
|
f32.const -0x1.921fp+0 (;=-1.57079;)
|
|
f32.add
|
|
local.set 0
|
|
block ;; label = @3
|
|
local.get 3
|
|
i32.const 1070141392
|
|
i32.eq
|
|
br_if 0 (;@3;)
|
|
local.get 1
|
|
local.get 0
|
|
f32.const -0x1.6a8886p-17 (;=-1.08043e-05;)
|
|
f32.add
|
|
local.tee 2
|
|
f32.store
|
|
local.get 1
|
|
local.get 0
|
|
local.get 2
|
|
f32.sub
|
|
f32.const -0x1.6a8886p-17 (;=-1.08043e-05;)
|
|
f32.add
|
|
f32.store offset=4
|
|
i32.const 1
|
|
return
|
|
end
|
|
local.get 1
|
|
local.get 0
|
|
f32.const -0x1.6a88p-17 (;=-1.08043e-05;)
|
|
f32.add
|
|
local.tee 0
|
|
f32.const -0x1.0b461p-34 (;=-6.0771e-11;)
|
|
f32.add
|
|
local.tee 2
|
|
f32.store
|
|
local.get 1
|
|
local.get 0
|
|
local.get 2
|
|
f32.sub
|
|
f32.const -0x1.0b461p-34 (;=-6.0771e-11;)
|
|
f32.add
|
|
f32.store offset=4
|
|
i32.const 1
|
|
return
|
|
end
|
|
local.get 0
|
|
f32.const 0x1.921fp+0 (;=1.57079;)
|
|
f32.add
|
|
local.set 0
|
|
block ;; label = @2
|
|
local.get 3
|
|
i32.const 1070141392
|
|
i32.eq
|
|
br_if 0 (;@2;)
|
|
local.get 1
|
|
local.get 0
|
|
f32.const 0x1.6a8886p-17 (;=1.08043e-05;)
|
|
f32.add
|
|
local.tee 2
|
|
f32.store
|
|
local.get 1
|
|
local.get 0
|
|
local.get 2
|
|
f32.sub
|
|
f32.const 0x1.6a8886p-17 (;=1.08043e-05;)
|
|
f32.add
|
|
f32.store offset=4
|
|
i32.const -1
|
|
return
|
|
end
|
|
local.get 1
|
|
local.get 0
|
|
f32.const 0x1.6a88p-17 (;=1.08043e-05;)
|
|
f32.add
|
|
local.tee 0
|
|
f32.const 0x1.0b461p-34 (;=6.0771e-11;)
|
|
f32.add
|
|
local.tee 2
|
|
f32.store
|
|
local.get 1
|
|
local.get 0
|
|
local.get 2
|
|
f32.sub
|
|
f32.const 0x1.0b461p-34 (;=6.0771e-11;)
|
|
f32.add
|
|
f32.store offset=4
|
|
i32.const -1
|
|
return
|
|
end
|
|
block ;; label = @1
|
|
block ;; label = @2
|
|
local.get 3
|
|
i32.const 1128861568
|
|
i32.gt_u
|
|
br_if 0 (;@2;)
|
|
block ;; label = @3
|
|
block ;; label = @4
|
|
local.get 2
|
|
f32.const 0x1.45f308p-1 (;=0.63662;)
|
|
f32.mul
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.add
|
|
local.tee 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@4;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 5
|
|
br 1 (;@3;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 5
|
|
end
|
|
local.get 5
|
|
f32.convert_i32_s
|
|
local.tee 6
|
|
f32.const 0x1.6a8886p-17 (;=1.08043e-05;)
|
|
f32.mul
|
|
local.set 7
|
|
local.get 2
|
|
local.get 6
|
|
f32.const -0x1.921fp+0 (;=-1.57079;)
|
|
f32.mul
|
|
f32.add
|
|
local.set 0
|
|
block ;; label = @3
|
|
block ;; label = @4
|
|
block ;; label = @5
|
|
local.get 5
|
|
i32.const 31
|
|
i32.gt_s
|
|
br_if 0 (;@5;)
|
|
local.get 3
|
|
i32.const 2147483392
|
|
i32.and
|
|
local.get 5
|
|
i32.const 2
|
|
i32.shl
|
|
i32.const 1020
|
|
i32.add
|
|
i32.load
|
|
i32.ne
|
|
br_if 1 (;@4;)
|
|
end
|
|
local.get 1
|
|
local.get 0
|
|
local.get 7
|
|
f32.sub
|
|
local.tee 2
|
|
f32.store
|
|
local.get 3
|
|
i32.const 23
|
|
i32.shr_u
|
|
local.tee 3
|
|
local.get 2
|
|
i32.reinterpret_f32
|
|
i32.const 23
|
|
i32.shr_u
|
|
i32.const 255
|
|
i32.and
|
|
i32.sub
|
|
i32.const 9
|
|
i32.lt_s
|
|
br_if 1 (;@3;)
|
|
local.get 1
|
|
local.get 0
|
|
local.get 6
|
|
f32.const 0x1.6a88p-17 (;=1.08043e-05;)
|
|
f32.mul
|
|
local.tee 2
|
|
f32.sub
|
|
local.tee 8
|
|
local.get 6
|
|
f32.const 0x1.0b461p-34 (;=6.0771e-11;)
|
|
f32.mul
|
|
local.get 0
|
|
local.get 8
|
|
f32.sub
|
|
local.get 2
|
|
f32.sub
|
|
f32.sub
|
|
local.tee 7
|
|
f32.sub
|
|
local.tee 2
|
|
f32.store
|
|
block ;; label = @5
|
|
local.get 3
|
|
local.get 2
|
|
i32.reinterpret_f32
|
|
i32.const 23
|
|
i32.shr_u
|
|
i32.const 255
|
|
i32.and
|
|
i32.sub
|
|
i32.const 26
|
|
i32.ge_s
|
|
br_if 0 (;@5;)
|
|
local.get 8
|
|
local.set 0
|
|
br 2 (;@3;)
|
|
end
|
|
local.get 6
|
|
f32.const 0x1.1a6264p-54 (;=6.12323e-17;)
|
|
f32.mul
|
|
local.get 8
|
|
local.get 8
|
|
local.get 6
|
|
f32.const 0x1.0b46p-34 (;=6.07709e-11;)
|
|
f32.mul
|
|
local.tee 2
|
|
f32.sub
|
|
local.tee 0
|
|
f32.sub
|
|
local.get 2
|
|
f32.sub
|
|
f32.sub
|
|
local.set 7
|
|
end
|
|
local.get 1
|
|
local.get 0
|
|
local.get 7
|
|
f32.sub
|
|
local.tee 2
|
|
f32.store
|
|
end
|
|
local.get 1
|
|
local.get 0
|
|
local.get 2
|
|
f32.sub
|
|
local.get 7
|
|
f32.sub
|
|
local.tee 0
|
|
f32.store offset=4
|
|
local.get 4
|
|
i32.const -1
|
|
i32.gt_s
|
|
br_if 1 (;@1;)
|
|
local.get 1
|
|
local.get 0
|
|
f32.neg
|
|
f32.store offset=4
|
|
local.get 1
|
|
local.get 2
|
|
f32.neg
|
|
f32.store
|
|
i32.const 0
|
|
local.get 5
|
|
i32.sub
|
|
return
|
|
end
|
|
local.get 1
|
|
local.get 0
|
|
local.get 0
|
|
f32.sub
|
|
local.tee 0
|
|
f32.store
|
|
local.get 1
|
|
local.get 0
|
|
f32.store offset=4
|
|
i32.const 0
|
|
local.set 5
|
|
end
|
|
local.get 5)
|
|
(func $basicmath___cosf (type 4) (param f32) (result f32)
|
|
(local i32 i32 i32 i32 f32 f32 f32 f32)
|
|
global.get $__stack_pointer
|
|
i32.const 16
|
|
i32.sub
|
|
local.tee 1
|
|
global.set $__stack_pointer
|
|
block ;; label = @1
|
|
block ;; label = @2
|
|
local.get 0
|
|
i32.reinterpret_f32
|
|
i32.const 2147483647
|
|
i32.and
|
|
local.tee 2
|
|
i32.const 1061752792
|
|
i32.gt_u
|
|
br_if 0 (;@2;)
|
|
local.get 2
|
|
i32.const 838860799
|
|
i32.gt_u
|
|
local.set 3
|
|
block ;; label = @3
|
|
block ;; label = @4
|
|
local.get 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@4;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 4
|
|
br 1 (;@3;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 4
|
|
end
|
|
block ;; label = @3
|
|
local.get 3
|
|
br_if 0 (;@3;)
|
|
local.get 4
|
|
br_if 0 (;@3;)
|
|
f32.const 0x1p+0 (;=1;)
|
|
local.set 0
|
|
br 2 (;@1;)
|
|
end
|
|
local.get 0
|
|
local.get 0
|
|
f32.mul
|
|
local.tee 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
f32.const -0x1.8fae9cp-37 (;=-1.13596e-11;)
|
|
f32.mul
|
|
f32.const 0x1.1ee9ecp-29 (;=2.08757e-09;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.27e4f8p-22 (;=-2.75573e-07;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.a01a02p-16 (;=2.48016e-05;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.6c16c2p-10 (;=-0.00138889;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.555556p-5 (;=0.0416667;)
|
|
f32.add
|
|
f32.mul
|
|
local.set 6
|
|
block ;; label = @3
|
|
local.get 2
|
|
i32.const 1050253721
|
|
i32.gt_u
|
|
br_if 0 (;@3;)
|
|
f32.const 0x1p+0 (;=1;)
|
|
local.get 5
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 5
|
|
local.get 6
|
|
f32.mul
|
|
local.get 0
|
|
f32.const -0x0p+0 (;=-0;)
|
|
f32.mul
|
|
f32.add
|
|
f32.sub
|
|
f32.sub
|
|
local.set 0
|
|
br 2 (;@1;)
|
|
end
|
|
f32.const 0x1p+0 (;=1;)
|
|
f32.const 0x1.2p-2 (;=0.28125;)
|
|
local.get 2
|
|
i32.const -16777216
|
|
i32.add
|
|
f32.reinterpret_i32
|
|
local.get 2
|
|
i32.const 1061683200
|
|
i32.gt_u
|
|
select
|
|
local.tee 7
|
|
f32.sub
|
|
local.get 5
|
|
local.get 6
|
|
f32.mul
|
|
local.get 0
|
|
f32.const -0x0p+0 (;=-0;)
|
|
f32.mul
|
|
f32.add
|
|
local.get 5
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 7
|
|
f32.sub
|
|
f32.sub
|
|
f32.add
|
|
local.set 0
|
|
br 1 (;@1;)
|
|
end
|
|
block ;; label = @2
|
|
local.get 2
|
|
i32.const 2139095040
|
|
i32.lt_u
|
|
br_if 0 (;@2;)
|
|
local.get 0
|
|
local.get 0
|
|
f32.sub
|
|
local.set 0
|
|
br 1 (;@1;)
|
|
end
|
|
local.get 0
|
|
local.get 1
|
|
i32.const 8
|
|
i32.add
|
|
call $basicmath___ieee754_rem_pio2f
|
|
local.set 2
|
|
local.get 1
|
|
f32.load offset=8
|
|
local.set 0
|
|
block ;; label = @2
|
|
block ;; label = @3
|
|
block ;; label = @4
|
|
block ;; label = @5
|
|
local.get 2
|
|
i32.const 3
|
|
i32.and
|
|
br_table 0 (;@5;) 1 (;@4;) 2 (;@3;) 3 (;@2;) 0 (;@5;)
|
|
end
|
|
local.get 0
|
|
i32.reinterpret_f32
|
|
i32.const 2147483647
|
|
i32.and
|
|
local.tee 2
|
|
i32.const 838860799
|
|
i32.gt_u
|
|
local.set 3
|
|
block ;; label = @5
|
|
block ;; label = @6
|
|
local.get 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@6;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 4
|
|
br 1 (;@5;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 4
|
|
end
|
|
local.get 1
|
|
f32.load offset=12
|
|
local.set 6
|
|
block ;; label = @5
|
|
local.get 3
|
|
br_if 0 (;@5;)
|
|
local.get 4
|
|
br_if 0 (;@5;)
|
|
f32.const 0x1p+0 (;=1;)
|
|
local.set 0
|
|
br 4 (;@1;)
|
|
end
|
|
local.get 0
|
|
local.get 0
|
|
f32.mul
|
|
local.tee 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
f32.const -0x1.8fae9cp-37 (;=-1.13596e-11;)
|
|
f32.mul
|
|
f32.const 0x1.1ee9ecp-29 (;=2.08757e-09;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.27e4f8p-22 (;=-2.75573e-07;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.a01a02p-16 (;=2.48016e-05;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.6c16c2p-10 (;=-0.00138889;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.555556p-5 (;=0.0416667;)
|
|
f32.add
|
|
f32.mul
|
|
local.set 7
|
|
block ;; label = @5
|
|
local.get 2
|
|
i32.const 1050253721
|
|
i32.gt_u
|
|
br_if 0 (;@5;)
|
|
f32.const 0x1p+0 (;=1;)
|
|
local.get 5
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 5
|
|
local.get 7
|
|
f32.mul
|
|
local.get 6
|
|
local.get 0
|
|
f32.mul
|
|
f32.sub
|
|
f32.sub
|
|
f32.sub
|
|
local.set 0
|
|
br 4 (;@1;)
|
|
end
|
|
f32.const 0x1p+0 (;=1;)
|
|
f32.const 0x1.2p-2 (;=0.28125;)
|
|
local.get 2
|
|
i32.const -16777216
|
|
i32.add
|
|
f32.reinterpret_i32
|
|
local.get 2
|
|
i32.const 1061683200
|
|
i32.gt_u
|
|
select
|
|
local.tee 8
|
|
f32.sub
|
|
local.get 5
|
|
local.get 7
|
|
f32.mul
|
|
local.get 6
|
|
local.get 0
|
|
f32.mul
|
|
f32.sub
|
|
local.get 5
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 8
|
|
f32.sub
|
|
f32.sub
|
|
f32.add
|
|
local.set 0
|
|
br 3 (;@1;)
|
|
end
|
|
local.get 0
|
|
i32.reinterpret_f32
|
|
i32.const 2147483647
|
|
i32.and
|
|
i32.const 838860799
|
|
i32.gt_u
|
|
local.set 2
|
|
block ;; label = @4
|
|
block ;; label = @5
|
|
local.get 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@5;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 3
|
|
br 1 (;@4;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 3
|
|
end
|
|
block ;; label = @4
|
|
block ;; label = @5
|
|
local.get 2
|
|
br_if 0 (;@5;)
|
|
local.get 3
|
|
i32.eqz
|
|
br_if 1 (;@4;)
|
|
end
|
|
local.get 0
|
|
local.get 0
|
|
local.get 0
|
|
local.get 0
|
|
f32.mul
|
|
local.tee 5
|
|
f32.neg
|
|
f32.mul
|
|
local.tee 6
|
|
f32.const -0x1.555556p-3 (;=-0.166667;)
|
|
f32.mul
|
|
local.get 5
|
|
local.get 1
|
|
f32.load offset=12
|
|
local.tee 7
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 6
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
f32.const 0x1.5d93a6p-33 (;=1.58969e-10;)
|
|
f32.mul
|
|
f32.const -0x1.ae5e68p-26 (;=-2.50508e-08;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.71de36p-19 (;=2.75573e-06;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.a01a02p-13 (;=-0.000198413;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.111112p-7 (;=0.00833333;)
|
|
f32.add
|
|
f32.mul
|
|
f32.add
|
|
f32.mul
|
|
local.get 7
|
|
f32.sub
|
|
f32.add
|
|
f32.sub
|
|
local.set 0
|
|
end
|
|
local.get 0
|
|
f32.neg
|
|
local.set 0
|
|
br 2 (;@1;)
|
|
end
|
|
local.get 0
|
|
i32.reinterpret_f32
|
|
i32.const 2147483647
|
|
i32.and
|
|
local.tee 2
|
|
i32.const 838860799
|
|
i32.gt_u
|
|
local.set 3
|
|
block ;; label = @3
|
|
block ;; label = @4
|
|
local.get 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@4;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 4
|
|
br 1 (;@3;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 4
|
|
end
|
|
local.get 1
|
|
f32.load offset=12
|
|
local.set 6
|
|
block ;; label = @3
|
|
block ;; label = @4
|
|
local.get 3
|
|
br_if 0 (;@4;)
|
|
f32.const 0x1p+0 (;=1;)
|
|
local.set 5
|
|
local.get 4
|
|
i32.eqz
|
|
br_if 1 (;@3;)
|
|
end
|
|
local.get 0
|
|
local.get 0
|
|
f32.mul
|
|
local.tee 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
f32.const -0x1.8fae9cp-37 (;=-1.13596e-11;)
|
|
f32.mul
|
|
f32.const 0x1.1ee9ecp-29 (;=2.08757e-09;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.27e4f8p-22 (;=-2.75573e-07;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.a01a02p-16 (;=2.48016e-05;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.6c16c2p-10 (;=-0.00138889;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.555556p-5 (;=0.0416667;)
|
|
f32.add
|
|
f32.mul
|
|
local.set 7
|
|
block ;; label = @4
|
|
local.get 2
|
|
i32.const 1050253721
|
|
i32.gt_u
|
|
br_if 0 (;@4;)
|
|
f32.const 0x1p+0 (;=1;)
|
|
local.get 5
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 5
|
|
local.get 7
|
|
f32.mul
|
|
local.get 6
|
|
local.get 0
|
|
f32.mul
|
|
f32.sub
|
|
f32.sub
|
|
f32.sub
|
|
f32.neg
|
|
local.set 0
|
|
br 3 (;@1;)
|
|
end
|
|
f32.const 0x1p+0 (;=1;)
|
|
f32.const 0x1.2p-2 (;=0.28125;)
|
|
local.get 2
|
|
i32.const -16777216
|
|
i32.add
|
|
f32.reinterpret_i32
|
|
local.get 2
|
|
i32.const 1061683200
|
|
i32.gt_u
|
|
select
|
|
local.tee 8
|
|
f32.sub
|
|
local.get 5
|
|
local.get 7
|
|
f32.mul
|
|
local.get 6
|
|
local.get 0
|
|
f32.mul
|
|
f32.sub
|
|
local.get 5
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 8
|
|
f32.sub
|
|
f32.sub
|
|
f32.add
|
|
local.set 5
|
|
end
|
|
local.get 5
|
|
f32.neg
|
|
local.set 0
|
|
br 1 (;@1;)
|
|
end
|
|
local.get 0
|
|
i32.reinterpret_f32
|
|
i32.const 2147483647
|
|
i32.and
|
|
i32.const 838860799
|
|
i32.gt_u
|
|
local.set 2
|
|
block ;; label = @2
|
|
block ;; label = @3
|
|
local.get 0
|
|
f32.abs
|
|
f32.const 0x1p+31 (;=2.14748e+09;)
|
|
f32.lt
|
|
i32.eqz
|
|
br_if 0 (;@3;)
|
|
local.get 0
|
|
i32.trunc_f32_s
|
|
local.set 3
|
|
br 1 (;@2;)
|
|
end
|
|
i32.const -2147483648
|
|
local.set 3
|
|
end
|
|
block ;; label = @2
|
|
local.get 2
|
|
br_if 0 (;@2;)
|
|
local.get 3
|
|
i32.eqz
|
|
br_if 1 (;@1;)
|
|
end
|
|
local.get 0
|
|
local.get 0
|
|
local.get 0
|
|
local.get 0
|
|
f32.mul
|
|
local.tee 5
|
|
f32.neg
|
|
f32.mul
|
|
local.tee 6
|
|
f32.const -0x1.555556p-3 (;=-0.166667;)
|
|
f32.mul
|
|
local.get 5
|
|
local.get 1
|
|
f32.load offset=12
|
|
local.tee 7
|
|
f32.const 0x1p-1 (;=0.5;)
|
|
f32.mul
|
|
local.get 6
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
local.get 5
|
|
f32.const 0x1.5d93a6p-33 (;=1.58969e-10;)
|
|
f32.mul
|
|
f32.const -0x1.ae5e68p-26 (;=-2.50508e-08;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.71de36p-19 (;=2.75573e-06;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const -0x1.a01a02p-13 (;=-0.000198413;)
|
|
f32.add
|
|
f32.mul
|
|
f32.const 0x1.111112p-7 (;=0.00833333;)
|
|
f32.add
|
|
f32.mul
|
|
f32.add
|
|
f32.mul
|
|
local.get 7
|
|
f32.sub
|
|
f32.add
|
|
f32.sub
|
|
local.set 0
|
|
end
|
|
local.get 1
|
|
i32.const 16
|
|
i32.add
|
|
global.set $__stack_pointer
|
|
local.get 0)
|
|
(table (;0;) 1 1 funcref)
|
|
(memory (;0;) 1)
|
|
(global $__stack_pointer (mut i32) (i32.const 5264))
|
|
(global (;1;) i32 (i32.const 1156))
|
|
(global (;2;) i32 (i32.const 5264))
|
|
(export "memory" (memory 0))
|
|
(export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
|
|
(export "entrypoint" (func $cosf_main))
|
|
(export "main" (func $__original_main))
|
|
(export "__data_end" (global 1))
|
|
(export "__heap_base" (global 2))
|
|
(data $.rodata (i32.const 1024) "\00\0f\c9?\00\0fI@\00\cb\96@\00\0f\c9@\00S\fb@\00\cb\16A\00\ed/A\00\0fIA\001bA\00S{A\00:\8aA\00\cb\96A\00\5c\a3A\00\ed\afA\00~\bcA\00\0f\c9A\00\a0\d5A\001\e2A\00\c2\eeA\00S\fbA\00\f2\03B\00:\0aB\00\83\10B\00\cb\16B\00\14\1dB\00\5c#B\00\a5)B\00\ed/B\0066B\00~<B\00\c7BB\00\0fIB"))
|