Files
failnix/targets/wasm-tacle/sequential/fmref/generated/default/fmref.wat

3651 lines
81 KiB
Plaintext

(module $fmref.wasm
(type (;0;) (func (param i32 i32)))
(type (;1;) (func))
(type (;2;) (func (result i32)))
(type (;3;) (func (param i32)))
(type (;4;) (func (param i32 i32 i32)))
(type (;5;) (func (param f32 i32) (result i32)))
(type (;6;) (func (param f32) (result f32)))
(import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
(func $__wasm_apply_data_relocs (type 1))
(func $__original_main (type 2) (result i32)
call $fmref_main
i32.const 0)
(func $fmref_main (type 1)
(local i32 i32 f64 i32 f64 f32 i32 i32 i32 i32 i32 i32)
global.get $__stack_pointer
i32.const 11888
i32.sub
local.tee 0
global.set $__stack_pointer
i32.const 0
local.set 1
i32.const 0
i64.const 0
i64.store offset=2032 align=4
i32.const 0
i64.const 0
i64.store offset=2840 align=4
i32.const 0
i64.const 0
i64.store offset=3648 align=4
i32.const 0
i64.const 0
i64.store offset=4456 align=4
i32.const 0
i32.const 4
i32.store offset=4728
i32.const 0
i64.const 276166475360
i64.store offset=4720 align=4
i32.const 64
i32.const 64
call $__pragma_loopbound
f64.const 0x0p+0 (;=0;)
local.set 2
i32.const 4464
local.set 3
loop ;; label = @1
f64.const 0x1.ba5e365c3e597p-1 (;=0.864;)
local.set 4
block ;; label = @2
local.get 1
f32.convert_i32_u
f32.const -0x1.f8p+4 (;=-31.5;)
f32.add
local.tee 5
f32.const 0x0p+0 (;=0;)
f32.eq
br_if 0 (;@2;)
local.get 5
f32.const 0x1.5b6f5ep+1 (;=2.71434;)
f32.mul
call $fmref___sinf
f64.promote_f32
f64.const 0x1.921fb54442d18p+1 (;=3.14159;)
f64.div
local.get 5
f64.promote_f32
f64.div
local.get 2
f64.const 0x1.921fb54442d18p+2 (;=6.28319;)
f64.mul
f64.const 0x1.f8p+5 (;=63;)
f64.div
f32.demote_f64
call $fmref___cosf
f32.const -0x1.d70a3ep-2 (;=-0.46;)
f32.mul
f32.const 0x1.147ae2p-1 (;=0.54;)
f32.add
f64.promote_f32
f64.mul
local.set 4
end
local.get 3
local.get 4
f32.demote_f64
f32.store
local.get 3
i32.const 4
i32.add
local.set 3
local.get 2
f64.const 0x1p+0 (;=1;)
f64.add
local.set 2
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 64
i32.ne
br_if 0 (;@1;)
end
local.get 0
i32.const 12
i32.add
call $fmref_init_equalizer
i32.const 0
i32.load offset=2032
local.set 1
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @1
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@1;)
local.get 1
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @2
local.get 1
i32.const 1232
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@2;)
end
end
i32.const 0
local.get 3
i32.store offset=2036
i32.const 0
i32.const 0
i32.store offset=2032
i32.const 140
i32.const 200
call $__pragma_loopbound
block ;; label = @1
i32.const 0
i32.load offset=2036
local.tee 7
i32.const 199
i32.gt_s
br_if 0 (;@1;)
i32.const 0
i32.load offset=4732
local.set 1
block ;; label = @2
block ;; label = @3
i32.const 0
local.get 7
i32.sub
i32.const 3
i32.and
local.tee 6
br_if 0 (;@3;)
local.get 7
local.set 8
br 1 (;@2;)
end
local.get 7
local.get 6
i32.add
local.set 8
local.get 7
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 3
loop ;; label = @3
local.get 3
local.get 1
f32.convert_i32_s
f32.store
local.get 3
i32.const 4
i32.add
local.set 3
local.get 1
i32.const 1
i32.add
local.set 1
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@3;)
end
end
block ;; label = @2
local.get 7
i32.const -197
i32.add
i32.const 3
i32.lt_u
br_if 0 (;@2;)
local.get 8
i32.const -200
i32.add
local.set 6
local.get 8
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 3
loop ;; label = @3
local.get 3
local.get 1
f32.convert_i32_s
f32.store
local.get 3
i32.const 12
i32.add
local.get 1
i32.const 3
i32.add
f32.convert_i32_s
f32.store
local.get 3
i32.const 8
i32.add
local.get 1
i32.const 2
i32.add
f32.convert_i32_s
f32.store
local.get 3
i32.const 4
i32.add
local.get 1
i32.const 1
i32.add
f32.convert_i32_s
f32.store
local.get 1
i32.const 4
i32.add
local.set 1
local.get 3
i32.const 16
i32.add
local.set 3
local.get 6
i32.const 4
i32.add
local.tee 6
br_if 0 (;@3;)
end
end
i32.const 0
local.get 1
i32.store offset=4732
i32.const 0
i32.const 200
i32.store offset=2036
end
i32.const 64
i32.const 64
call $__pragma_loopbound
i32.const 0
i32.load offset=2032
local.set 9
block ;; label = @1
block ;; label = @2
i32.const 0
i32.load offset=4724
local.tee 1
i32.const 1
i32.ge_s
br_if 0 (;@2;)
f32.const 0x0p+0 (;=0;)
local.set 5
br 1 (;@1;)
end
local.get 1
i32.const 1
i32.and
local.set 10
block ;; label = @2
block ;; label = @3
local.get 1
i32.const 1
i32.ne
br_if 0 (;@3;)
f32.const 0x0p+0 (;=0;)
local.set 5
i32.const 0
local.set 3
br 1 (;@2;)
end
local.get 1
i32.const 2147483646
i32.and
local.set 7
local.get 9
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 8
f32.const 0x0p+0 (;=0;)
local.set 5
i32.const 0
local.set 1
i32.const 0
local.set 3
loop ;; label = @3
local.get 8
local.get 1
i32.add
local.tee 6
i32.const 4
i32.add
f32.load
local.get 1
i32.const 4468
i32.add
f32.load
f32.mul
local.get 6
f32.load
local.get 1
i32.const 4464
i32.add
f32.load
f32.mul
local.get 5
f32.add
f32.add
local.set 5
local.get 1
i32.const 8
i32.add
local.set 1
local.get 7
local.get 3
i32.const 2
i32.add
local.tee 3
i32.ne
br_if 0 (;@3;)
end
end
local.get 10
i32.eqz
br_if 0 (;@1;)
local.get 3
local.get 9
i32.add
i32.const 2
i32.shl
i32.const 1232
i32.add
f32.load
local.get 3
i32.const 2
i32.shl
i32.const 4464
i32.add
f32.load
f32.mul
local.get 5
f32.add
local.set 5
end
i32.const 0
local.get 9
i32.const 0
i32.load offset=4728
i32.add
i32.const 1
i32.add
i32.store offset=2032
block ;; label = @1
i32.const 0
i32.load offset=2844
local.tee 3
i32.const 200
i32.lt_s
br_if 0 (;@1;)
i32.const 0
i32.load offset=2840
local.set 1
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @2
i32.const 0
i32.load offset=2844
i32.const 0
i32.load offset=2840
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@2;)
local.get 1
i32.const 2
i32.shl
i32.const 2040
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @3
local.get 1
i32.const 2040
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=2844
i32.const 0
i32.load offset=2840
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@3;)
end
end
i32.const 0
i32.const 0
i32.store offset=2840
end
i32.const 0
local.get 3
i32.const 1
i32.add
i32.store offset=2844
local.get 3
i32.const 2
i32.shl
i32.const 2040
i32.add
local.get 5
f32.store
i32.const 64
i32.const 64
call $__pragma_loopbound
i32.const 0
local.set 10
loop ;; label = @1
block ;; label = @2
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
local.tee 1
i32.sub
i32.const 64
i32.gt_s
br_if 0 (;@2;)
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @3
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@3;)
local.get 1
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @4
local.get 1
i32.const 1232
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@4;)
end
end
i32.const 0
local.get 3
i32.store offset=2036
i32.const 0
i32.const 0
i32.store offset=2032
i32.const 140
i32.const 200
call $__pragma_loopbound
i32.const 0
i32.load offset=2036
local.tee 7
i32.const 199
i32.gt_s
br_if 0 (;@2;)
i32.const 0
i32.load offset=4732
local.set 1
block ;; label = @3
block ;; label = @4
i32.const 0
local.get 7
i32.sub
i32.const 3
i32.and
local.tee 6
br_if 0 (;@4;)
local.get 7
local.set 8
br 1 (;@3;)
end
local.get 7
local.get 6
i32.add
local.set 8
local.get 7
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 3
loop ;; label = @4
local.get 3
local.get 1
f32.convert_i32_s
f32.store
local.get 3
i32.const 4
i32.add
local.set 3
local.get 1
i32.const 1
i32.add
local.set 1
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@4;)
end
end
block ;; label = @3
local.get 7
i32.const -197
i32.add
i32.const 3
i32.lt_u
br_if 0 (;@3;)
i32.const 200
local.get 8
i32.sub
local.set 6
local.get 8
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 3
loop ;; label = @4
local.get 3
local.get 1
f32.convert_i32_s
f32.store
local.get 3
i32.const 12
i32.add
local.get 1
i32.const 3
i32.add
f32.convert_i32_s
f32.store
local.get 3
i32.const 8
i32.add
local.get 1
i32.const 2
i32.add
f32.convert_i32_s
f32.store
local.get 3
i32.const 4
i32.add
local.get 1
i32.const 1
i32.add
f32.convert_i32_s
f32.store
local.get 1
i32.const 4
i32.add
local.set 1
local.get 3
i32.const 16
i32.add
local.set 3
local.get 6
i32.const -4
i32.add
local.tee 6
br_if 0 (;@4;)
end
end
i32.const 0
local.get 1
i32.store offset=4732
i32.const 0
i32.const 200
i32.store offset=2036
end
i32.const 64
i32.const 64
call $__pragma_loopbound
i32.const 0
i32.load offset=2032
local.set 9
block ;; label = @2
block ;; label = @3
i32.const 0
i32.load offset=4724
local.tee 1
i32.const 1
i32.ge_s
br_if 0 (;@3;)
f32.const 0x0p+0 (;=0;)
local.set 5
br 1 (;@2;)
end
local.get 1
i32.const 1
i32.and
local.set 11
block ;; label = @3
block ;; label = @4
local.get 1
i32.const 1
i32.ne
br_if 0 (;@4;)
f32.const 0x0p+0 (;=0;)
local.set 5
i32.const 0
local.set 3
br 1 (;@3;)
end
local.get 1
i32.const 2147483646
i32.and
local.set 7
local.get 9
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 8
f32.const 0x0p+0 (;=0;)
local.set 5
i32.const 0
local.set 1
i32.const 0
local.set 3
loop ;; label = @4
local.get 8
local.get 1
i32.add
local.tee 6
i32.const 4
i32.add
f32.load
local.get 1
i32.const 4468
i32.add
f32.load
f32.mul
local.get 6
f32.load
local.get 1
i32.const 4464
i32.add
f32.load
f32.mul
local.get 5
f32.add
f32.add
local.set 5
local.get 1
i32.const 8
i32.add
local.set 1
local.get 7
local.get 3
i32.const 2
i32.add
local.tee 3
i32.ne
br_if 0 (;@4;)
end
end
local.get 11
i32.eqz
br_if 0 (;@2;)
local.get 3
local.get 9
i32.add
i32.const 2
i32.shl
i32.const 1232
i32.add
f32.load
local.get 3
i32.const 2
i32.shl
i32.const 4464
i32.add
f32.load
f32.mul
local.get 5
f32.add
local.set 5
end
i32.const 0
local.get 9
i32.const 0
i32.load offset=4728
i32.add
i32.const 1
i32.add
i32.store offset=2032
i32.const 0
i32.load offset=2840
local.set 1
block ;; label = @2
i32.const 0
i32.load offset=2844
local.tee 3
i32.const 200
i32.lt_s
br_if 0 (;@2;)
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @3
i32.const 0
i32.load offset=2844
i32.const 0
i32.load offset=2840
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@3;)
local.get 1
i32.const 2
i32.shl
i32.const 2040
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @4
local.get 1
i32.const 2040
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=2844
i32.const 0
i32.load offset=2840
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@4;)
end
end
i32.const 0
local.set 1
i32.const 0
i32.const 0
i32.store offset=2840
end
local.get 3
i32.const 2
i32.shl
i32.const 2040
i32.add
local.get 5
f32.store
i32.const 0
local.get 3
i32.const 1
i32.add
i32.store offset=2844
local.get 1
i32.const 2
i32.shl
local.tee 1
i32.const 2040
i32.add
f32.load
local.get 1
i32.const 2044
i32.add
f32.load
f32.mul
call $fmref___atanf
local.set 5
i32.const 0
i32.const 0
i32.load offset=2840
i32.const 1
i32.add
i32.store offset=2840
block ;; label = @2
i32.const 0
i32.load offset=3652
local.tee 3
i32.const 200
i32.lt_s
br_if 0 (;@2;)
i32.const 0
i32.load offset=3648
local.set 1
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @3
i32.const 0
i32.load offset=3652
i32.const 0
i32.load offset=3648
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@3;)
local.get 1
i32.const 2
i32.shl
i32.const 2848
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @4
local.get 1
i32.const 2848
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=3652
i32.const 0
i32.load offset=3648
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@4;)
end
end
i32.const 0
i32.const 0
i32.store offset=3648
end
i32.const 0
local.get 3
i32.const 1
i32.add
i32.store offset=3652
local.get 3
i32.const 2
i32.shl
i32.const 2848
i32.add
local.get 5
f32.const 0x1.99cfb4p+27 (;=2.14859e+08;)
f32.mul
f32.store
local.get 10
i32.const 1
i32.add
local.tee 10
i32.const 64
i32.ne
br_if 0 (;@1;)
end
i32.const 2
i32.const 2
call $__pragma_loopbound
i32.const 0
i32.const 0
i32.load offset=1228
local.tee 1
i32.const -1
i32.add
i32.store offset=1228
block ;; label = @1
local.get 1
i32.const 1
i32.lt_s
br_if 0 (;@1;)
loop ;; label = @2
block ;; label = @3
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
local.tee 1
i32.sub
i32.const 64
i32.gt_s
br_if 0 (;@3;)
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @4
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 1
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @5
local.get 1
i32.const 1232
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=2036
i32.const 0
i32.load offset=2032
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@5;)
end
end
i32.const 0
local.get 3
i32.store offset=2036
i32.const 0
i32.const 0
i32.store offset=2032
i32.const 140
i32.const 200
call $__pragma_loopbound
i32.const 0
i32.load offset=2036
local.tee 7
i32.const 199
i32.gt_s
br_if 0 (;@3;)
i32.const 0
i32.load offset=4732
local.set 1
block ;; label = @4
block ;; label = @5
i32.const 0
local.get 7
i32.sub
i32.const 3
i32.and
local.tee 6
br_if 0 (;@5;)
local.get 7
local.set 8
br 1 (;@4;)
end
local.get 7
local.get 6
i32.add
local.set 8
local.get 7
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 3
loop ;; label = @5
local.get 3
local.get 1
f32.convert_i32_s
f32.store
local.get 3
i32.const 4
i32.add
local.set 3
local.get 1
i32.const 1
i32.add
local.set 1
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@5;)
end
end
block ;; label = @4
local.get 7
i32.const -197
i32.add
i32.const 3
i32.lt_u
br_if 0 (;@4;)
i32.const 200
local.get 8
i32.sub
local.set 6
local.get 8
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 3
loop ;; label = @5
local.get 3
local.get 1
f32.convert_i32_s
f32.store
local.get 3
i32.const 12
i32.add
local.get 1
i32.const 3
i32.add
f32.convert_i32_s
f32.store
local.get 3
i32.const 8
i32.add
local.get 1
i32.const 2
i32.add
f32.convert_i32_s
f32.store
local.get 3
i32.const 4
i32.add
local.get 1
i32.const 1
i32.add
f32.convert_i32_s
f32.store
local.get 1
i32.const 4
i32.add
local.set 1
local.get 3
i32.const 16
i32.add
local.set 3
local.get 6
i32.const -4
i32.add
local.tee 6
br_if 0 (;@5;)
end
end
i32.const 0
local.get 1
i32.store offset=4732
i32.const 0
i32.const 200
i32.store offset=2036
end
i32.const 64
i32.const 64
call $__pragma_loopbound
i32.const 0
i32.load offset=2032
local.set 9
block ;; label = @3
block ;; label = @4
i32.const 0
i32.load offset=4724
local.tee 1
i32.const 1
i32.ge_s
br_if 0 (;@4;)
f32.const 0x0p+0 (;=0;)
local.set 5
br 1 (;@3;)
end
local.get 1
i32.const 1
i32.and
local.set 10
block ;; label = @4
block ;; label = @5
local.get 1
i32.const 1
i32.ne
br_if 0 (;@5;)
f32.const 0x0p+0 (;=0;)
local.set 5
i32.const 0
local.set 3
br 1 (;@4;)
end
local.get 1
i32.const 2147483646
i32.and
local.set 7
local.get 9
i32.const 2
i32.shl
i32.const 1232
i32.add
local.set 8
f32.const 0x0p+0 (;=0;)
local.set 5
i32.const 0
local.set 1
i32.const 0
local.set 3
loop ;; label = @5
local.get 8
local.get 1
i32.add
local.tee 6
i32.const 4
i32.add
f32.load
local.get 1
i32.const 4468
i32.add
f32.load
f32.mul
local.get 6
f32.load
local.get 1
i32.const 4464
i32.add
f32.load
f32.mul
local.get 5
f32.add
f32.add
local.set 5
local.get 1
i32.const 8
i32.add
local.set 1
local.get 7
local.get 3
i32.const 2
i32.add
local.tee 3
i32.ne
br_if 0 (;@5;)
end
end
local.get 10
i32.eqz
br_if 0 (;@3;)
local.get 3
local.get 9
i32.add
i32.const 2
i32.shl
i32.const 1232
i32.add
f32.load
local.get 3
i32.const 2
i32.shl
i32.const 4464
i32.add
f32.load
f32.mul
local.get 5
f32.add
local.set 5
end
i32.const 0
local.get 9
i32.const 0
i32.load offset=4728
i32.add
i32.const 1
i32.add
i32.store offset=2032
i32.const 0
i32.load offset=2840
local.set 1
block ;; label = @3
i32.const 0
i32.load offset=2844
local.tee 3
i32.const 200
i32.lt_s
br_if 0 (;@3;)
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @4
i32.const 0
i32.load offset=2844
i32.const 0
i32.load offset=2840
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 1
i32.const 2
i32.shl
i32.const 2040
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @5
local.get 1
i32.const 2040
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=2844
i32.const 0
i32.load offset=2840
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@5;)
end
end
i32.const 0
local.set 1
i32.const 0
i32.const 0
i32.store offset=2840
end
local.get 3
i32.const 2
i32.shl
i32.const 2040
i32.add
local.get 5
f32.store
i32.const 0
local.get 3
i32.const 1
i32.add
i32.store offset=2844
local.get 1
i32.const 2
i32.shl
local.tee 1
i32.const 2040
i32.add
f32.load
local.get 1
i32.const 2044
i32.add
f32.load
f32.mul
call $fmref___atanf
local.set 5
i32.const 0
i32.const 0
i32.load offset=2840
i32.const 1
i32.add
i32.store offset=2840
block ;; label = @3
i32.const 0
i32.load offset=3652
local.tee 3
i32.const 200
i32.lt_s
br_if 0 (;@3;)
i32.const 0
i32.load offset=3648
local.set 1
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @4
i32.const 0
i32.load offset=3652
i32.const 0
i32.load offset=3648
i32.sub
local.tee 3
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 1
i32.const 2
i32.shl
i32.const 2848
i32.add
local.set 6
i32.const 0
local.set 1
loop ;; label = @5
local.get 1
i32.const 2848
i32.add
local.get 6
local.get 1
i32.add
i32.load8_u
i32.store8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 0
i32.load offset=3652
i32.const 0
i32.load offset=3648
i32.sub
local.tee 3
i32.lt_s
br_if 0 (;@5;)
end
end
i32.const 0
i32.const 0
i32.store offset=3648
end
i32.const 0
local.get 3
i32.const 1
i32.add
i32.store offset=3652
local.get 3
i32.const 2
i32.shl
i32.const 2848
i32.add
local.get 5
f32.const 0x1.99cfb4p+27 (;=2.14859e+08;)
f32.mul
f32.store
i32.const 2848
i32.const 3656
local.get 0
i32.const 12
i32.add
call $fmref_run_equalizer
i32.const 0
i32.const 0
i32.load offset=1228
local.tee 1
i32.const -1
i32.add
i32.store offset=1228
local.get 1
i32.const 0
i32.gt_s
br_if 0 (;@2;)
end
end
local.get 0
i32.const 11888
i32.add
global.set $__stack_pointer)
(func $fmref_init_equalizer (type 3) (param i32)
(local i32 i32 i32 f32 f32 f64 f64 i32 f64)
i32.const 11
i32.const 11
call $__pragma_loopbound
i32.const 0
local.set 1
local.get 0
local.set 2
loop ;; label = @1
local.get 0
local.get 1
i32.const 268
i32.mul
i32.add
local.tee 3
i64.const 64
i64.store offset=260 align=4
local.get 3
local.get 1
i32.const 2
i32.shl
i32.const 1184
i32.add
f32.load
local.tee 4
f32.store offset=256
i32.const 64
i32.const 64
call $__pragma_loopbound
local.get 4
f64.promote_f32
f64.const 0x1.921fb54442d18p+2 (;=6.28319;)
f64.mul
f64.const 0x1.dcd65p+27 (;=2.5e+08;)
f64.div
f32.demote_f64
local.tee 5
f64.promote_f32
f64.const 0x1.921fb54442d18p+1 (;=3.14159;)
f64.div
local.set 6
f64.const 0x0p+0 (;=0;)
local.set 7
local.get 2
local.set 3
i32.const 0
local.set 8
loop ;; label = @2
local.get 6
local.set 9
block ;; label = @3
local.get 8
f32.convert_i32_u
f32.const -0x1.f8p+4 (;=-31.5;)
f32.add
local.tee 4
f32.const 0x0p+0 (;=0;)
f32.eq
br_if 0 (;@3;)
local.get 4
local.get 5
f32.mul
call $fmref___sinf
f64.promote_f32
f64.const 0x1.921fb54442d18p+1 (;=3.14159;)
f64.div
local.get 4
f64.promote_f32
f64.div
local.get 7
f64.const 0x1.921fb54442d18p+2 (;=6.28319;)
f64.mul
f64.const 0x1.f8p+5 (;=63;)
f64.div
f32.demote_f64
call $fmref___cosf
f32.const -0x1.d70a3ep-2 (;=-0.46;)
f32.mul
f32.const 0x1.147ae2p-1 (;=0.54;)
f32.add
f64.promote_f32
f64.mul
local.set 9
end
local.get 3
local.get 9
f32.demote_f64
f32.store
local.get 3
i32.const 4
i32.add
local.set 3
local.get 7
f64.const 0x1p+0 (;=1;)
f64.add
local.set 7
local.get 8
i32.const 1
i32.add
local.tee 8
i32.const 64
i32.ne
br_if 0 (;@2;)
end
local.get 2
i32.const 268
i32.add
local.set 2
local.get 1
i32.const 1
i32.add
local.tee 1
i32.const 11
i32.ne
br_if 0 (;@1;)
end
i32.const 11
i32.const 11
call $__pragma_loopbound
local.get 0
i64.const 0
i64.store offset=3748 align=4
local.get 0
i64.const 0
i64.store offset=4556 align=4
local.get 0
i64.const 0
i64.store offset=5364 align=4
local.get 0
i64.const 0
i64.store offset=6172 align=4
local.get 0
i64.const 0
i64.store offset=6980 align=4
local.get 0
i64.const 0
i64.store offset=7788 align=4
local.get 0
i64.const 0
i64.store offset=8596 align=4
local.get 0
i64.const 0
i64.store offset=9404 align=4
local.get 0
i64.const 0
i64.store offset=11020 align=4
local.get 0
i64.const 0
i64.store offset=10212 align=4
local.get 0
i64.const 0
i64.store offset=11828 align=4
i32.const 10
i32.const 10
call $__pragma_loopbound
local.get 0
i64.const 4579260103037183590
i64.store offset=11868 align=4
local.get 0
i64.const 4593671620989131162
i64.store offset=11860 align=4
local.get 0
i64.const 4608083138939401011
i64.store offset=11852 align=4
local.get 0
i64.const 4600877382109233152
i64.store offset=11844 align=4
local.get 0
i64.const 4586465859862318285
i64.store offset=11836 align=4)
(func $fmref_run_equalizer (type 4) (param i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 f32 i32 i32 i32 i32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32 f32)
global.get $__stack_pointer
i32.const 48
i32.sub
local.tee 3
global.set $__stack_pointer
local.get 0
i32.load offset=800
local.set 4
i32.const 11
i32.const 11
call $__pragma_loopbound
i32.const 0
local.set 5
local.get 2
i32.const 2948
i32.add
local.tee 6
local.set 7
local.get 2
local.set 8
loop ;; label = @1
local.get 0
local.get 4
i32.store offset=800
i32.const 64
i32.const 64
call $__pragma_loopbound
local.get 6
local.get 5
i32.const 808
i32.mul
i32.add
local.set 9
local.get 0
i32.load offset=800
local.set 10
block ;; label = @2
block ;; label = @3
local.get 2
local.get 5
i32.const 268
i32.mul
i32.add
local.tee 11
i32.load offset=260
local.tee 12
i32.const 1
i32.ge_s
br_if 0 (;@3;)
f32.const 0x0p+0 (;=0;)
local.set 13
br 1 (;@2;)
end
local.get 12
i32.const 1
i32.and
local.set 14
block ;; label = @3
block ;; label = @4
local.get 12
i32.const 1
i32.ne
br_if 0 (;@4;)
f32.const 0x0p+0 (;=0;)
local.set 13
i32.const 0
local.set 15
br 1 (;@3;)
end
local.get 12
i32.const 2147483646
i32.and
local.set 16
local.get 0
local.get 10
i32.const 2
i32.shl
i32.add
local.set 12
f32.const 0x0p+0 (;=0;)
local.set 13
i32.const 0
local.set 15
local.get 8
local.set 17
loop ;; label = @4
local.get 12
i32.const 4
i32.add
f32.load
local.get 17
i32.const 4
i32.add
f32.load
f32.mul
local.get 12
f32.load
local.get 17
f32.load
f32.mul
local.get 13
f32.add
f32.add
local.set 13
local.get 17
i32.const 8
i32.add
local.set 17
local.get 12
i32.const 8
i32.add
local.set 12
local.get 16
local.get 15
i32.const 2
i32.add
local.tee 15
i32.ne
br_if 0 (;@4;)
end
end
local.get 14
i32.eqz
br_if 0 (;@2;)
local.get 0
local.get 15
local.get 10
i32.add
i32.const 2
i32.shl
i32.add
f32.load
local.get 11
local.get 15
i32.const 2
i32.shl
i32.add
f32.load
f32.mul
local.get 13
f32.add
local.set 13
end
local.get 0
local.get 10
local.get 11
i32.load offset=264
i32.add
i32.const 1
i32.add
i32.store offset=800
local.get 9
i32.load offset=800
local.set 12
block ;; label = @2
block ;; label = @3
local.get 9
i32.load offset=804
local.tee 17
i32.const 200
i32.ge_s
br_if 0 (;@3;)
local.get 12
local.set 16
br 1 (;@2;)
end
i32.const 0
local.set 16
i32.const 0
i32.const 60
call $__pragma_loopbound
local.get 9
i32.load offset=804
local.get 9
i32.load offset=800
i32.sub
local.tee 17
i32.const 1
i32.lt_s
br_if 0 (;@2;)
local.get 7
local.get 12
i32.const 2
i32.shl
i32.add
local.set 15
i32.const 0
local.set 16
i32.const 0
local.set 12
loop ;; label = @3
local.get 7
local.get 12
i32.add
local.get 15
local.get 12
i32.add
i32.load8_u
i32.store8
local.get 12
i32.const 1
i32.add
local.tee 12
local.get 9
i32.load offset=804
local.get 9
i32.load offset=800
i32.sub
local.tee 17
i32.lt_s
br_if 0 (;@3;)
end
end
local.get 9
local.get 17
i32.const 2
i32.shl
i32.add
local.get 13
f32.store
local.get 9
local.get 17
i32.const 1
i32.add
i32.store offset=804
local.get 9
local.get 16
i32.const 1
i32.add
i32.store offset=800
local.get 3
local.get 5
i32.const 2
i32.shl
i32.add
local.get 9
local.get 16
i32.const 2
i32.shl
i32.add
f32.load
f32.store
local.get 7
i32.const 808
i32.add
local.set 7
local.get 8
i32.const 268
i32.add
local.set 8
local.get 5
i32.const 1
i32.add
local.tee 5
i32.const 11
i32.ne
br_if 0 (;@1;)
end
i32.const 10
i32.const 10
call $__pragma_loopbound
local.get 2
f32.load offset=11872
local.set 18
local.get 2
f32.load offset=11868
local.set 19
local.get 2
f32.load offset=11864
local.set 20
local.get 2
f32.load offset=11860
local.set 21
local.get 2
f32.load offset=11856
local.set 22
local.get 2
f32.load offset=11852
local.set 23
local.get 2
f32.load offset=11848
local.set 24
local.get 2
f32.load offset=11844
local.set 25
local.get 2
f32.load offset=11840
local.set 26
local.get 2
f32.load offset=11836
local.set 27
local.get 3
f32.load offset=40
local.set 28
local.get 3
f32.load offset=36
local.set 13
local.get 3
f32.load offset=32
local.set 29
local.get 3
f32.load offset=28
local.set 30
local.get 3
f32.load offset=24
local.set 31
local.get 3
f32.load offset=20
local.set 32
local.get 3
f32.load offset=16
local.set 33
local.get 3
f32.load offset=12
local.set 34
local.get 3
f32.load offset=8
local.set 35
local.get 3
f32.load
local.set 36
local.get 3
f32.load offset=4
local.set 37
block ;; label = @1
local.get 1
i32.load offset=804
local.tee 17
i32.const 200
i32.lt_s
br_if 0 (;@1;)
local.get 1
i32.load offset=800
local.set 12
i32.const 0
i32.const 60
call $__pragma_loopbound
block ;; label = @2
local.get 1
i32.load offset=804
local.get 1
i32.load offset=800
i32.sub
local.tee 17
i32.const 1
i32.lt_s
br_if 0 (;@2;)
local.get 1
local.get 12
i32.const 2
i32.shl
i32.add
local.set 9
i32.const 0
local.set 12
loop ;; label = @3
local.get 1
local.get 12
i32.add
local.get 9
local.get 12
i32.add
i32.load8_u
i32.store8
local.get 12
i32.const 1
i32.add
local.tee 12
local.get 1
i32.load offset=804
local.get 1
i32.load offset=800
i32.sub
local.tee 17
i32.lt_s
br_if 0 (;@3;)
end
end
local.get 1
i32.const 0
i32.store offset=800
end
local.get 1
local.get 17
i32.const 1
i32.add
i32.store offset=804
local.get 1
local.get 17
i32.const 2
i32.shl
i32.add
local.get 28
local.get 13
f32.sub
local.get 18
f32.mul
local.get 13
local.get 29
f32.sub
local.get 19
f32.mul
local.get 29
local.get 30
f32.sub
local.get 20
f32.mul
local.get 30
local.get 31
f32.sub
local.get 21
f32.mul
local.get 31
local.get 32
f32.sub
local.get 22
f32.mul
local.get 32
local.get 33
f32.sub
local.get 23
f32.mul
local.get 33
local.get 34
f32.sub
local.get 24
f32.mul
local.get 34
local.get 35
f32.sub
local.get 25
f32.mul
local.get 35
local.get 37
f32.sub
local.get 26
f32.mul
local.get 37
local.get 36
f32.sub
local.get 27
f32.mul
f32.const 0x0p+0 (;=0;)
f32.add
f32.add
f32.add
f32.add
f32.add
f32.add
f32.add
f32.add
f32.add
f32.add
f32.store
local.get 3
i32.const 48
i32.add
global.set $__stack_pointer)
(func $fmref___ieee754_rem_pio2f (type 5) (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 $fmref___atanf (type 6) (param f32) (result f32)
(local i32 f32 i32 i32 f32 f32)
local.get 0
i32.reinterpret_f32
local.set 1
block ;; label = @1
local.get 0
f32.abs
local.tee 2
i32.reinterpret_f32
local.tee 3
i32.const 1350565888
i32.lt_u
br_if 0 (;@1;)
block ;; label = @2
local.get 3
i32.const 2139095041
i32.lt_u
br_if 0 (;@2;)
local.get 0
local.get 0
f32.add
return
end
f32.const 0x1.921fb6p+0 (;=1.5708;)
f32.const -0x1.921fb6p+0 (;=-1.5708;)
local.get 1
i32.const 0
i32.gt_s
select
return
end
block ;; label = @1
block ;; label = @2
block ;; label = @3
local.get 3
i32.const 1054867455
i32.gt_u
br_if 0 (;@3;)
i32.const -1
local.set 4
local.get 0
f32.const 0x1.93e594p+99 (;=1e+30;)
f32.add
f32.const 0x1p+0 (;=1;)
f32.gt
i32.eqz
br_if 1 (;@2;)
local.get 3
i32.const 822083584
i32.ge_u
br_if 1 (;@2;)
br 2 (;@1;)
end
block ;; label = @3
local.get 3
i32.const 1066926079
i32.gt_u
br_if 0 (;@3;)
block ;; label = @4
local.get 3
i32.const 1060110335
i32.gt_u
br_if 0 (;@4;)
local.get 2
local.get 2
f32.add
f32.const -0x1p+0 (;=-1;)
f32.add
local.get 2
f32.const 0x1p+1 (;=2;)
f32.add
f32.div
local.set 0
i32.const 0
local.set 4
br 2 (;@2;)
end
local.get 2
f32.const -0x1p+0 (;=-1;)
f32.add
local.get 2
f32.const 0x1p+0 (;=1;)
f32.add
f32.div
local.set 0
i32.const 1
local.set 4
br 1 (;@2;)
end
block ;; label = @3
local.get 3
i32.const 1075576831
i32.gt_u
br_if 0 (;@3;)
local.get 2
f32.const -0x1.8p+0 (;=-1.5;)
f32.add
local.get 2
f32.const 0x1.8p+0 (;=1.5;)
f32.mul
f32.const 0x1p+0 (;=1;)
f32.add
f32.div
local.set 0
i32.const 2
local.set 4
br 1 (;@2;)
end
f32.const -0x1p+0 (;=-1;)
local.get 2
f32.div
local.set 0
i32.const 3
local.set 4
end
local.get 0
local.get 0
f32.mul
local.tee 5
local.get 5
f32.mul
local.tee 2
local.get 2
local.get 2
local.get 2
local.get 2
f32.const -0x1.2b4442p-5 (;=-0.0365316;)
f32.mul
f32.const -0x1.dde2d6p-5 (;=-0.0583357;)
f32.add
f32.mul
f32.const -0x1.3b0f2ap-4 (;=-0.0769188;)
f32.add
f32.mul
f32.const -0x1.c71c7p-4 (;=-0.111111;)
f32.add
f32.mul
f32.const -0x1.99999ap-3 (;=-0.2;)
f32.add
f32.mul
local.set 6
local.get 5
local.get 2
local.get 2
local.get 2
local.get 2
local.get 2
f32.const 0x1.0ad3aep-6 (;=0.0162858;)
f32.mul
f32.const 0x1.97b4b2p-5 (;=0.0497688;)
f32.add
f32.mul
f32.const 0x1.10d66ap-4 (;=0.0666107;)
f32.add
f32.mul
f32.const 0x1.745cdcp-4 (;=0.0909089;)
f32.add
f32.mul
f32.const 0x1.24924ap-3 (;=0.142857;)
f32.add
f32.mul
f32.const 0x1.555556p-2 (;=0.333333;)
f32.add
f32.mul
local.set 2
block ;; label = @2
local.get 3
i32.const 1054867455
i32.gt_u
br_if 0 (;@2;)
local.get 0
local.get 0
local.get 6
local.get 2
f32.add
f32.mul
f32.sub
return
end
local.get 4
i32.const 2
i32.shl
local.tee 3
i32.const 1152
i32.add
f32.load
local.get 0
local.get 6
local.get 2
f32.add
f32.mul
local.get 3
i32.const 1168
i32.add
f32.load
f32.sub
local.get 0
f32.sub
f32.sub
local.tee 0
f32.neg
local.get 0
local.get 1
i32.const 0
i32.lt_s
select
local.set 0
end
local.get 0)
(func $fmref___cosf (type 6) (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 $fmref___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)
(func $fmref___sinf (type 6) (param f32) (result f32)
(local i32 i32 i32 f32 f32 f32 i32 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 2
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 3
br 1 (;@3;)
end
i32.const -2147483648
local.set 3
end
block ;; label = @3
local.get 2
br_if 0 (;@3;)
local.get 3
i32.eqz
br_if 2 (;@1;)
end
local.get 0
local.get 0
f32.mul
local.tee 4
local.get 0
f32.mul
local.get 4
local.get 4
local.get 4
local.get 4
local.get 4
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.const -0x1.555556p-3 (;=-0.166667;)
f32.add
f32.mul
local.get 0
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 $fmref___ieee754_rem_pio2f
local.set 2
local.get 1
f32.load offset=8
local.set 4
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 4
i32.reinterpret_f32
i32.const 2147483647
i32.and
i32.const 838860799
i32.gt_u
local.set 2
block ;; label = @5
block ;; label = @6
local.get 4
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@6;)
local.get 4
i32.trunc_f32_s
local.set 3
br 1 (;@5;)
end
i32.const -2147483648
local.set 3
end
block ;; label = @5
local.get 2
br_if 0 (;@5;)
local.get 3
br_if 0 (;@5;)
local.get 4
local.set 0
br 4 (;@1;)
end
local.get 4
local.get 4
local.get 4
local.get 4
f32.mul
local.tee 0
f32.neg
f32.mul
local.tee 5
f32.const -0x1.555556p-3 (;=-0.166667;)
f32.mul
local.get 0
local.get 1
f32.load offset=12
local.tee 6
f32.const 0x1p-1 (;=0.5;)
f32.mul
local.get 5
local.get 0
local.get 0
local.get 0
local.get 0
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 6
f32.sub
f32.add
f32.sub
local.set 0
br 3 (;@1;)
end
local.get 4
i32.reinterpret_f32
i32.const 2147483647
i32.and
local.tee 2
i32.const 838860799
i32.gt_u
local.set 3
block ;; label = @4
block ;; label = @5
local.get 4
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@5;)
local.get 4
i32.trunc_f32_s
local.set 7
br 1 (;@4;)
end
i32.const -2147483648
local.set 7
end
local.get 1
f32.load offset=12
local.set 5
block ;; label = @4
local.get 3
br_if 0 (;@4;)
f32.const 0x1p+0 (;=1;)
local.set 0
local.get 7
i32.eqz
br_if 3 (;@1;)
end
local.get 4
local.get 4
f32.mul
local.tee 0
local.get 0
local.get 0
local.get 0
local.get 0
local.get 0
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 = @4
local.get 2
i32.const 1050253721
i32.gt_u
br_if 0 (;@4;)
f32.const 0x1p+0 (;=1;)
local.get 0
f32.const 0x1p-1 (;=0.5;)
f32.mul
local.get 0
local.get 6
f32.mul
local.get 5
local.get 4
f32.mul
f32.sub
f32.sub
f32.sub
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 0
local.get 6
f32.mul
local.get 5
local.get 4
f32.mul
f32.sub
local.get 0
f32.const 0x1p-1 (;=0.5;)
f32.mul
local.get 8
f32.sub
f32.sub
f32.add
local.set 0
br 2 (;@1;)
end
local.get 4
i32.reinterpret_f32
i32.const 2147483647
i32.and
i32.const 838860799
i32.gt_u
local.set 2
block ;; label = @3
block ;; label = @4
local.get 4
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@4;)
local.get 4
i32.trunc_f32_s
local.set 3
br 1 (;@3;)
end
i32.const -2147483648
local.set 3
end
block ;; label = @3
block ;; label = @4
local.get 2
br_if 0 (;@4;)
local.get 3
i32.eqz
br_if 1 (;@3;)
end
local.get 4
local.get 4
local.get 4
local.get 4
f32.mul
local.tee 0
f32.neg
f32.mul
local.tee 5
f32.const -0x1.555556p-3 (;=-0.166667;)
f32.mul
local.get 0
local.get 1
f32.load offset=12
local.tee 6
f32.const 0x1p-1 (;=0.5;)
f32.mul
local.get 5
local.get 0
local.get 0
local.get 0
local.get 0
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 6
f32.sub
f32.add
f32.sub
local.set 4
end
local.get 4
f32.neg
local.set 0
br 1 (;@1;)
end
local.get 4
i32.reinterpret_f32
i32.const 2147483647
i32.and
local.tee 2
i32.const 838860799
i32.gt_u
local.set 3
block ;; label = @2
block ;; label = @3
local.get 4
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@3;)
local.get 4
i32.trunc_f32_s
local.set 7
br 1 (;@2;)
end
i32.const -2147483648
local.set 7
end
local.get 1
f32.load offset=12
local.set 5
block ;; label = @2
block ;; label = @3
local.get 3
br_if 0 (;@3;)
f32.const 0x1p+0 (;=1;)
local.set 0
local.get 7
i32.eqz
br_if 1 (;@2;)
end
local.get 4
local.get 4
f32.mul
local.tee 0
local.get 0
local.get 0
local.get 0
local.get 0
local.get 0
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 0
f32.const 0x1p-1 (;=0.5;)
f32.mul
local.get 0
local.get 6
f32.mul
local.get 5
local.get 4
f32.mul
f32.sub
f32.sub
f32.sub
local.set 0
br 1 (;@2;)
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 0
local.get 6
f32.mul
local.get 5
local.get 4
f32.mul
f32.sub
local.get 0
f32.const 0x1p-1 (;=0.5;)
f32.mul
local.get 8
f32.sub
f32.sub
f32.add
local.set 0
end
local.get 0
f32.neg
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 8832))
(global (;1;) i32 (i32.const 4736))
(global (;2;) i32 (i32.const 8832))
(export "memory" (memory 0))
(export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
(export "main" (func $__original_main))
(export "entrypoint" (func $fmref_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\0fIB8c\ed>\da\0fI?^\98{?\da\0f\c9?i7\ac1h!\223\b4\0f\143h!\a23")
(data $.data (i32.const 1184) "\01\00\5cB@\90\9bB\01\00\dcBD\90\1bC\01\00\5cC@\90\9bC\01\00\dcCD\90\1bD\01\00\5cD@\90\9bD\01\00\dcD\02\00\00\00"))