assemblyscript/tests/compiler/binary.untouched.wat

3354 lines
52 KiB
Plaintext

(module
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$ddi (func (param f64 i32) (result f64)))
(type $FUNCSIG$fff (func (param f32 f32) (result f32)))
(type $FUNCSIG$ffi (func (param f32 i32) (result f32)))
(type $FUNCSIG$v (func))
(memory $0 0)
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $binary/b (mut i32) (i32.const 0))
(global $binary/i (mut i32) (i32.const 0))
(global $binary/I (mut i64) (i64.const 0))
(global $binary/f (mut f32) (f32.const 0))
(global $binary/F (mut f64) (f64.const 0))
(global $~lib/memory/HEAP_BASE i32 (i32.const 8))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/math/NativeMath.scalbn (; 0 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64)
(local $2 f64)
(local $3 i32)
(local $4 i32)
local.get $0
local.set $2
local.get $1
i32.const 1023
i32.gt_s
if
local.get $2
f64.const 8988465674311579538646525e283
f64.mul
local.set $2
local.get $1
i32.const 1023
i32.sub
local.set $1
local.get $1
i32.const 1023
i32.gt_s
if
local.get $2
f64.const 8988465674311579538646525e283
f64.mul
local.set $2
local.get $1
i32.const 1023
i32.sub
local.tee $3
i32.const 1023
local.tee $4
local.get $3
local.get $4
i32.lt_s
select
local.set $1
end
else
local.get $1
i32.const -1022
i32.lt_s
if
local.get $2
f64.const 2.2250738585072014e-308
f64.const 9007199254740992
f64.mul
f64.mul
local.set $2
local.get $1
i32.const 1022
i32.const 53
i32.sub
i32.add
local.set $1
local.get $1
i32.const -1022
i32.lt_s
if
local.get $2
f64.const 2.2250738585072014e-308
f64.const 9007199254740992
f64.mul
f64.mul
local.set $2
local.get $1
i32.const 1022
i32.add
i32.const 53
i32.sub
local.tee $3
i32.const -1022
local.tee $4
local.get $3
local.get $4
i32.gt_s
select
local.set $1
end
end
end
local.get $2
i64.const 1023
local.get $1
i64.extend_i32_s
i64.add
i64.const 52
i64.shl
f64.reinterpret_i64
f64.mul
)
(func $~lib/math/NativeMath.pow (; 1 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
(local $2 i64)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 f64)
(local $16 f64)
(local $17 f64)
(local $18 f64)
(local $19 f64)
(local $20 f64)
(local $21 f64)
(local $22 f64)
(local $23 f64)
(local $24 f64)
(local $25 f64)
(local $26 f64)
(local $27 f64)
(local $28 i32)
(local $29 i32)
(local $30 f64)
(local $31 f64)
(local $32 f64)
(local $33 f64)
(local $34 f64)
(local $35 f64)
(local $36 f64)
(local $37 f64)
(local $38 f64)
(local $39 f64)
(local $40 f64)
(local $41 i32)
local.get $0
i64.reinterpret_f64
local.set $2
local.get $2
i64.const 32
i64.shr_u
i32.wrap_i64
local.set $3
local.get $2
i32.wrap_i64
local.set $4
local.get $1
i64.reinterpret_f64
local.set $2
local.get $2
i64.const 32
i64.shr_u
i32.wrap_i64
local.set $5
local.get $2
i32.wrap_i64
local.set $6
local.get $3
i32.const 2147483647
i32.and
local.set $7
local.get $5
i32.const 2147483647
i32.and
local.set $8
local.get $8
local.get $6
i32.or
i32.const 0
i32.eq
if
f64.const 1
return
end
local.get $7
i32.const 2146435072
i32.gt_s
local.tee $9
if (result i32)
local.get $9
else
local.get $7
i32.const 2146435072
i32.eq
local.tee $9
if (result i32)
local.get $4
i32.const 0
i32.ne
else
local.get $9
end
end
local.tee $9
if (result i32)
local.get $9
else
local.get $8
i32.const 2146435072
i32.gt_s
end
local.tee $9
if (result i32)
local.get $9
else
local.get $8
i32.const 2146435072
i32.eq
local.tee $9
if (result i32)
local.get $6
i32.const 0
i32.ne
else
local.get $9
end
end
if
local.get $0
local.get $1
f64.add
return
end
i32.const 0
local.set $10
local.get $3
i32.const 0
i32.lt_s
if
local.get $8
i32.const 1128267776
i32.ge_s
if
i32.const 2
local.set $10
else
local.get $8
i32.const 1072693248
i32.ge_s
if
local.get $8
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
local.set $11
local.get $11
i32.const 20
i32.gt_s
local.set $9
i32.const 52
i32.const 20
local.get $9
select
local.get $11
i32.sub
local.set $12
local.get $6
local.get $8
local.get $9
select
local.set $13
local.get $13
local.get $12
i32.shr_s
local.set $14
local.get $14
local.get $12
i32.shl
local.get $13
i32.eq
if
i32.const 2
local.get $14
i32.const 1
i32.and
i32.sub
local.set $10
end
end
end
end
local.get $6
i32.const 0
i32.eq
if
local.get $8
i32.const 2146435072
i32.eq
if
local.get $7
i32.const 1072693248
i32.sub
local.get $4
i32.or
i32.const 0
i32.eq
if
f64.const nan:0x8000000000000
return
else
local.get $7
i32.const 1072693248
i32.ge_s
if
local.get $5
i32.const 0
i32.ge_s
if (result f64)
local.get $1
else
f64.const 0
end
return
else
local.get $5
i32.const 0
i32.ge_s
if (result f64)
f64.const 0
else
local.get $1
f64.neg
end
return
end
unreachable
end
unreachable
unreachable
end
local.get $8
i32.const 1072693248
i32.eq
if
local.get $5
i32.const 0
i32.ge_s
if
local.get $0
return
end
f64.const 1
local.get $0
f64.div
return
end
local.get $5
i32.const 1073741824
i32.eq
if
local.get $0
local.get $0
f64.mul
return
end
local.get $5
i32.const 1071644672
i32.eq
if
local.get $3
i32.const 0
i32.ge_s
if
local.get $0
f64.sqrt
return
end
end
end
local.get $0
f64.abs
local.set $15
local.get $4
i32.const 0
i32.eq
if
local.get $7
i32.const 0
i32.eq
local.tee $14
if (result i32)
local.get $14
else
local.get $7
i32.const 2146435072
i32.eq
end
local.tee $14
if (result i32)
local.get $14
else
local.get $7
i32.const 1072693248
i32.eq
end
if
local.get $15
local.set $16
local.get $5
i32.const 0
i32.lt_s
if
f64.const 1
local.get $16
f64.div
local.set $16
end
local.get $3
i32.const 0
i32.lt_s
if
local.get $7
i32.const 1072693248
i32.sub
local.get $10
i32.or
i32.const 0
i32.eq
if
local.get $16
local.get $16
f64.sub
local.set $17
local.get $17
local.get $17
f64.div
local.set $16
else
local.get $10
i32.const 1
i32.eq
if
local.get $16
f64.neg
local.set $16
end
end
end
local.get $16
return
end
end
f64.const 1
local.set $18
local.get $3
i32.const 0
i32.lt_s
if
local.get $10
i32.const 0
i32.eq
if
local.get $0
local.get $0
f64.sub
local.set $17
local.get $17
local.get $17
f64.div
return
end
local.get $10
i32.const 1
i32.eq
if
f64.const -1
local.set $18
end
end
local.get $8
i32.const 1105199104
i32.gt_s
if
local.get $8
i32.const 1139802112
i32.gt_s
if
local.get $7
i32.const 1072693247
i32.le_s
if
local.get $5
i32.const 0
i32.lt_s
if (result f64)
f64.const 1.e+300
f64.const 1.e+300
f64.mul
else
f64.const 1e-300
f64.const 1e-300
f64.mul
end
return
end
local.get $7
i32.const 1072693248
i32.ge_s
if
local.get $5
i32.const 0
i32.gt_s
if (result f64)
f64.const 1.e+300
f64.const 1.e+300
f64.mul
else
f64.const 1e-300
f64.const 1e-300
f64.mul
end
return
end
end
local.get $7
i32.const 1072693247
i32.lt_s
if
local.get $5
i32.const 0
i32.lt_s
if (result f64)
local.get $18
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
else
local.get $18
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
end
return
end
local.get $7
i32.const 1072693248
i32.gt_s
if
local.get $5
i32.const 0
i32.gt_s
if (result f64)
local.get $18
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
else
local.get $18
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
end
return
end
local.get $15
f64.const 1
f64.sub
local.set $24
local.get $24
local.get $24
f64.mul
f64.const 0.5
local.get $24
f64.const 0.3333333333333333
local.get $24
f64.const 0.25
f64.mul
f64.sub
f64.mul
f64.sub
f64.mul
local.set $27
f64.const 1.4426950216293335
local.get $24
f64.mul
local.set $25
local.get $24
f64.const 1.9259629911266175e-08
f64.mul
local.get $27
f64.const 1.4426950408889634
f64.mul
f64.sub
local.set $26
local.get $25
local.get $26
f64.add
local.set $19
local.get $19
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $19
local.get $26
local.get $19
local.get $25
f64.sub
f64.sub
local.set $20
else
i32.const 0
local.set $29
local.get $7
i32.const 1048576
i32.lt_s
if
local.get $15
f64.const 9007199254740992
f64.mul
local.set $15
local.get $29
i32.const 53
i32.sub
local.set $29
local.get $15
i64.reinterpret_f64
i64.const 32
i64.shr_u
i32.wrap_i64
local.set $7
end
local.get $29
local.get $7
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
i32.add
local.set $29
local.get $7
i32.const 1048575
i32.and
local.set $28
local.get $28
i32.const 1072693248
i32.or
local.set $7
local.get $28
i32.const 235662
i32.le_s
if
i32.const 0
local.set $11
else
local.get $28
i32.const 767610
i32.lt_s
if
i32.const 1
local.set $11
else
i32.const 0
local.set $11
local.get $29
i32.const 1
i32.add
local.set $29
local.get $7
i32.const 1048576
i32.sub
local.set $7
end
end
local.get $15
i64.reinterpret_f64
i64.const 4294967295
i64.and
local.get $7
i64.extend_i32_s
i64.const 32
i64.shl
i64.or
f64.reinterpret_i64
local.set $15
f64.const 1.5
f64.const 1
local.get $11
select
local.set $35
local.get $15
local.get $35
f64.sub
local.set $25
f64.const 1
local.get $15
local.get $35
f64.add
f64.div
local.set $26
local.get $25
local.get $26
f64.mul
local.set $17
local.get $17
local.set $31
local.get $31
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $31
local.get $7
i32.const 1
i32.shr_s
i32.const 536870912
i32.or
i32.const 524288
i32.add
local.get $11
i32.const 18
i32.shl
i32.add
i64.extend_i32_s
i64.const 32
i64.shl
f64.reinterpret_i64
local.set $33
local.get $15
local.get $33
local.get $35
f64.sub
f64.sub
local.set $34
local.get $26
local.get $25
local.get $31
local.get $33
f64.mul
f64.sub
local.get $31
local.get $34
f64.mul
f64.sub
f64.mul
local.set $32
local.get $17
local.get $17
f64.mul
local.set $30
local.get $30
local.get $30
f64.mul
f64.const 0.5999999999999946
local.get $30
f64.const 0.4285714285785502
local.get $30
f64.const 0.33333332981837743
local.get $30
f64.const 0.272728123808534
local.get $30
f64.const 0.23066074577556175
local.get $30
f64.const 0.20697501780033842
f64.mul
f64.add
f64.mul
f64.add
f64.mul
f64.add
f64.mul
f64.add
f64.mul
f64.add
f64.mul
local.set $23
local.get $23
local.get $32
local.get $31
local.get $17
f64.add
f64.mul
f64.add
local.set $23
local.get $31
local.get $31
f64.mul
local.set $30
f64.const 3
local.get $30
f64.add
local.get $23
f64.add
local.set $33
local.get $33
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $33
local.get $23
local.get $33
f64.const 3
f64.sub
local.get $30
f64.sub
f64.sub
local.set $34
local.get $31
local.get $33
f64.mul
local.set $25
local.get $32
local.get $33
f64.mul
local.get $34
local.get $17
f64.mul
f64.add
local.set $26
local.get $25
local.get $26
f64.add
local.set $21
local.get $21
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $21
local.get $26
local.get $21
local.get $25
f64.sub
f64.sub
local.set $22
f64.const 0.9617967009544373
local.get $21
f64.mul
local.set $36
f64.const 1.350039202129749e-08
f64.const 0
local.get $11
select
local.set $37
f64.const -7.028461650952758e-09
local.get $21
f64.mul
local.get $22
f64.const 0.9617966939259756
f64.mul
f64.add
local.get $37
f64.add
local.set $38
local.get $29
f64.convert_i32_s
local.set $24
f64.const 0.5849624872207642
f64.const 0
local.get $11
select
local.set $39
local.get $36
local.get $38
f64.add
local.get $39
f64.add
local.get $24
f64.add
local.set $19
local.get $19
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $19
local.get $38
local.get $19
local.get $24
f64.sub
local.get $39
f64.sub
local.get $36
f64.sub
f64.sub
local.set $20
end
local.get $1
local.set $40
local.get $40
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $40
local.get $1
local.get $40
f64.sub
local.get $19
f64.mul
local.get $1
local.get $20
f64.mul
f64.add
local.set $22
local.get $40
local.get $19
f64.mul
local.set $21
local.get $22
local.get $21
f64.add
local.set $16
local.get $16
i64.reinterpret_f64
local.set $2
local.get $2
i64.const 32
i64.shr_u
i32.wrap_i64
local.set $28
local.get $2
i32.wrap_i64
local.set $41
local.get $28
i32.const 1083179008
i32.ge_s
if
local.get $28
i32.const 1083179008
i32.sub
local.get $41
i32.or
i32.const 0
i32.ne
if
local.get $18
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
return
end
local.get $22
f64.const 8.008566259537294e-17
f64.add
local.get $16
local.get $21
f64.sub
f64.gt
if
local.get $18
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
return
end
else
local.get $28
i32.const 2147483647
i32.and
i32.const 1083231232
i32.ge_s
if
local.get $28
i32.const -1064252416
i32.sub
local.get $41
i32.or
i32.const 0
i32.ne
if
local.get $18
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
return
end
local.get $22
local.get $16
local.get $21
f64.sub
f64.le
if
local.get $18
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
return
end
end
end
local.get $28
i32.const 2147483647
i32.and
local.set $41
local.get $41
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
local.set $11
i32.const 0
local.set $29
local.get $41
i32.const 1071644672
i32.gt_s
if
local.get $28
i32.const 1048576
local.get $11
i32.const 1
i32.add
i32.shr_s
i32.add
local.set $29
local.get $29
i32.const 2147483647
i32.and
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
local.set $11
f64.const 0
local.set $24
local.get $29
i32.const 1048575
local.get $11
i32.shr_s
i32.const -1
i32.xor
i32.and
i64.extend_i32_s
i64.const 32
i64.shl
f64.reinterpret_i64
local.set $24
local.get $29
i32.const 1048575
i32.and
i32.const 1048576
i32.or
i32.const 20
local.get $11
i32.sub
i32.shr_s
local.set $29
local.get $28
i32.const 0
i32.lt_s
if
i32.const 0
local.get $29
i32.sub
local.set $29
end
local.get $21
local.get $24
f64.sub
local.set $21
end
local.get $22
local.get $21
f64.add
local.set $24
local.get $24
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $24
local.get $24
f64.const 0.6931471824645996
f64.mul
local.set $25
local.get $22
local.get $24
local.get $21
f64.sub
f64.sub
f64.const 0.6931471805599453
f64.mul
local.get $24
f64.const -1.904654299957768e-09
f64.mul
f64.add
local.set $26
local.get $25
local.get $26
f64.add
local.set $16
local.get $26
local.get $16
local.get $25
f64.sub
f64.sub
local.set $27
local.get $16
local.get $16
f64.mul
local.set $24
local.get $16
local.get $24
f64.const 0.16666666666666602
local.get $24
f64.const -2.7777777777015593e-03
local.get $24
f64.const 6.613756321437934e-05
local.get $24
f64.const -1.6533902205465252e-06
local.get $24
f64.const 4.1381367970572385e-08
f64.mul
f64.add
f64.mul
f64.add
f64.mul
f64.add
f64.mul
f64.add
f64.mul
f64.sub
local.set $19
local.get $16
local.get $19
f64.mul
local.get $19
f64.const 2
f64.sub
f64.div
local.get $27
local.get $16
local.get $27
f64.mul
f64.add
f64.sub
local.set $23
f64.const 1
local.get $23
local.get $16
f64.sub
f64.sub
local.set $16
local.get $16
i64.reinterpret_f64
i64.const 32
i64.shr_u
i32.wrap_i64
local.set $28
local.get $28
local.get $29
i32.const 20
i32.shl
i32.add
local.set $28
local.get $28
i32.const 20
i32.shr_s
i32.const 0
i32.le_s
if
local.get $16
local.get $29
call $~lib/math/NativeMath.scalbn
local.set $16
else
local.get $16
i64.reinterpret_f64
i64.const 4294967295
i64.and
local.get $28
i64.extend_i32_s
i64.const 32
i64.shl
i64.or
f64.reinterpret_i64
local.set $16
end
local.get $18
local.get $16
f64.mul
)
(func $~lib/math/NativeMathf.mod (; 2 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 f32)
(local $10 i32)
(local $11 i32)
local.get $0
i32.reinterpret_f32
local.set $2
local.get $1
i32.reinterpret_f32
local.set $3
local.get $2
i32.const 23
i32.shr_u
i32.const 255
i32.and
local.set $4
local.get $3
i32.const 23
i32.shr_u
i32.const 255
i32.and
local.set $5
local.get $2
i32.const -2147483648
i32.and
local.set $6
local.get $3
i32.const 1
i32.shl
local.set $7
local.get $7
i32.const 0
i32.eq
local.tee $8
if (result i32)
local.get $8
else
local.get $4
i32.const 255
i32.eq
end
local.tee $8
if (result i32)
local.get $8
else
local.get $1
local.set $9
local.get $9
local.get $9
f32.ne
end
i32.const 0
i32.ne
if
local.get $0
local.get $1
f32.mul
local.set $9
local.get $9
local.get $9
f32.div
return
end
local.get $2
i32.const 1
i32.shl
local.set $10
local.get $10
local.get $7
i32.le_u
if
local.get $10
local.get $7
i32.eq
if
f32.const 0
local.get $0
f32.mul
return
end
local.get $0
return
end
local.get $4
i32.eqz
if
local.get $4
local.get $2
i32.const 9
i32.shl
i32.clz
i32.sub
local.set $4
local.get $2
i32.const 0
local.get $4
i32.sub
i32.const 1
i32.add
i32.shl
local.set $2
else
local.get $2
i32.const -1
i32.const 9
i32.shr_u
i32.and
local.set $2
local.get $2
i32.const 1
i32.const 23
i32.shl
i32.or
local.set $2
end
local.get $5
i32.eqz
if
local.get $5
local.get $3
i32.const 9
i32.shl
i32.clz
i32.sub
local.set $5
local.get $3
i32.const 0
local.get $5
i32.sub
i32.const 1
i32.add
i32.shl
local.set $3
else
local.get $3
i32.const -1
i32.const 9
i32.shr_u
i32.and
local.set $3
local.get $3
i32.const 1
i32.const 23
i32.shl
i32.or
local.set $3
end
block $break|0
loop $continue|0
local.get $4
local.get $5
i32.gt_s
if
block
local.get $2
local.get $3
i32.ge_u
if
local.get $2
local.get $3
i32.eq
if
f32.const 0
local.get $0
f32.mul
return
end
local.get $2
local.get $3
i32.sub
local.set $2
end
local.get $2
i32.const 1
i32.shl
local.set $2
local.get $4
i32.const 1
i32.sub
local.set $4
end
br $continue|0
end
end
end
local.get $2
local.get $3
i32.ge_u
if
local.get $2
local.get $3
i32.eq
if
f32.const 0
local.get $0
f32.mul
return
end
local.get $2
local.get $3
i32.sub
local.set $2
end
local.get $2
i32.const 8
i32.shl
i32.clz
local.set $11
local.get $4
local.get $11
i32.sub
local.set $4
local.get $2
local.get $11
i32.shl
local.set $2
local.get $4
i32.const 0
i32.gt_s
if
local.get $2
i32.const 1
i32.const 23
i32.shl
i32.sub
local.set $2
local.get $2
local.get $4
i32.const 23
i32.shl
i32.or
local.set $2
else
local.get $2
i32.const 0
local.get $4
i32.sub
i32.const 1
i32.add
i32.shr_u
local.set $2
end
local.get $2
local.get $6
i32.or
local.set $2
local.get $2
f32.reinterpret_i32
)
(func $~lib/math/NativeMathf.scalbn (; 3 ;) (type $FUNCSIG$ffi) (param $0 f32) (param $1 i32) (result f32)
(local $2 f32)
(local $3 i32)
(local $4 i32)
local.get $0
local.set $2
local.get $1
i32.const 127
i32.gt_s
if
local.get $2
f32.const 1701411834604692317316873e14
f32.mul
local.set $2
local.get $1
i32.const 127
i32.sub
local.set $1
local.get $1
i32.const 127
i32.gt_s
if
local.get $2
f32.const 1701411834604692317316873e14
f32.mul
local.set $2
local.get $1
i32.const 127
i32.sub
local.tee $3
i32.const 127
local.tee $4
local.get $3
local.get $4
i32.lt_s
select
local.set $1
end
else
local.get $1
i32.const -126
i32.lt_s
if
local.get $2
f32.const 1.1754943508222875e-38
f32.const 16777216
f32.mul
f32.mul
local.set $2
local.get $1
i32.const 126
i32.const 24
i32.sub
i32.add
local.set $1
local.get $1
i32.const -126
i32.lt_s
if
local.get $2
f32.const 1.1754943508222875e-38
f32.const 16777216
f32.mul
f32.mul
local.set $2
local.get $1
i32.const 126
i32.add
i32.const 24
i32.sub
local.tee $3
i32.const -126
local.tee $4
local.get $3
local.get $4
i32.gt_s
select
local.set $1
end
end
end
local.get $2
i32.const 127
local.get $1
i32.add
i32.const 23
i32.shl
f32.reinterpret_i32
f32.mul
)
(func $~lib/math/NativeMathf.pow (; 4 ;) (type $FUNCSIG$fff) (param $0 f32) (param $1 f32) (result f32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 f32)
(local $11 f32)
(local $12 f32)
(local $13 f32)
(local $14 f32)
(local $15 f32)
(local $16 f32)
(local $17 f32)
(local $18 f32)
(local $19 f32)
(local $20 f32)
(local $21 f32)
(local $22 f32)
(local $23 f32)
(local $24 i32)
(local $25 i32)
(local $26 f32)
(local $27 f32)
(local $28 f32)
(local $29 f32)
(local $30 f32)
(local $31 f32)
(local $32 f32)
(local $33 f32)
(local $34 f32)
(local $35 f32)
(local $36 i32)
local.get $0
i32.reinterpret_f32
local.set $2
local.get $1
i32.reinterpret_f32
local.set $3
local.get $2
i32.const 2147483647
i32.and
local.set $4
local.get $3
i32.const 2147483647
i32.and
local.set $5
local.get $5
i32.const 0
i32.eq
if
f32.const 1
return
end
local.get $4
i32.const 2139095040
i32.gt_s
local.tee $6
if (result i32)
local.get $6
else
local.get $5
i32.const 2139095040
i32.gt_s
end
if
local.get $0
local.get $1
f32.add
return
end
i32.const 0
local.set $7
local.get $2
i32.const 0
i32.lt_s
if
local.get $5
i32.const 1266679808
i32.ge_s
if
i32.const 2
local.set $7
else
local.get $5
i32.const 1065353216
i32.ge_s
if
local.get $5
i32.const 23
i32.shr_s
i32.const 127
i32.sub
local.set $9
i32.const 23
local.get $9
i32.sub
local.set $6
local.get $5
local.get $6
i32.shr_s
local.set $8
local.get $8
local.get $6
i32.shl
local.get $5
i32.eq
if
i32.const 2
local.get $8
i32.const 1
i32.and
i32.sub
local.set $7
end
end
end
end
local.get $5
i32.const 2139095040
i32.eq
if
local.get $4
i32.const 1065353216
i32.eq
if
f32.const nan:0x400000
return
else
local.get $4
i32.const 1065353216
i32.gt_s
if
local.get $3
i32.const 0
i32.ge_s
if (result f32)
local.get $1
else
f32.const 0
end
return
else
local.get $3
i32.const 0
i32.ge_s
if (result f32)
f32.const 0
else
local.get $1
f32.neg
end
return
end
unreachable
end
unreachable
unreachable
end
local.get $5
i32.const 1065353216
i32.eq
if
local.get $3
i32.const 0
i32.ge_s
if (result f32)
local.get $0
else
f32.const 1
local.get $0
f32.div
end
return
end
local.get $3
i32.const 1073741824
i32.eq
if
local.get $0
local.get $0
f32.mul
return
end
local.get $3
i32.const 1056964608
i32.eq
if
local.get $2
i32.const 0
i32.ge_s
if
local.get $0
f32.sqrt
return
end
end
local.get $0
f32.abs
local.set $10
local.get $4
i32.const 2139095040
i32.eq
local.tee $6
if (result i32)
local.get $6
else
local.get $4
i32.const 0
i32.eq
end
local.tee $6
if (result i32)
local.get $6
else
local.get $4
i32.const 1065353216
i32.eq
end
if
local.get $10
local.set $11
local.get $3
i32.const 0
i32.lt_s
if
f32.const 1
local.get $11
f32.div
local.set $11
end
local.get $2
i32.const 0
i32.lt_s
if
local.get $4
i32.const 1065353216
i32.sub
local.get $7
i32.or
i32.const 0
i32.eq
if
local.get $11
local.get $11
f32.sub
local.set $12
local.get $12
local.get $12
f32.div
local.set $11
else
local.get $7
i32.const 1
i32.eq
if
local.get $11
f32.neg
local.set $11
end
end
end
local.get $11
return
end
f32.const 1
local.set $13
local.get $2
i32.const 0
i32.lt_s
if
local.get $7
i32.const 0
i32.eq
if
local.get $0
local.get $0
f32.sub
local.set $12
local.get $12
local.get $12
f32.div
return
end
local.get $7
i32.const 1
i32.eq
if
f32.const -1
local.set $13
end
end
local.get $5
i32.const 1291845632
i32.gt_s
if
local.get $4
i32.const 1065353208
i32.lt_s
if
local.get $3
i32.const 0
i32.lt_s
if (result f32)
local.get $13
f32.const 1000000015047466219876688e6
f32.mul
f32.const 1000000015047466219876688e6
f32.mul
else
local.get $13
f32.const 1.0000000031710769e-30
f32.mul
f32.const 1.0000000031710769e-30
f32.mul
end
return
end
local.get $4
i32.const 1065353223
i32.gt_s
if
local.get $3
i32.const 0
i32.gt_s
if (result f32)
local.get $13
f32.const 1000000015047466219876688e6
f32.mul
f32.const 1000000015047466219876688e6
f32.mul
else
local.get $13
f32.const 1.0000000031710769e-30
f32.mul
f32.const 1.0000000031710769e-30
f32.mul
end
return
end
local.get $10
f32.const 1
f32.sub
local.set $18
local.get $18
local.get $18
f32.mul
f32.const 0.5
local.get $18
f32.const 0.3333333432674408
local.get $18
f32.const 0.25
f32.mul
f32.sub
f32.mul
f32.sub
f32.mul
local.set $21
f32.const 1.44268798828125
local.get $18
f32.mul
local.set $19
local.get $18
f32.const 7.052607543300837e-06
f32.mul
local.get $21
f32.const 1.4426950216293335
f32.mul
f32.sub
local.set $20
local.get $19
local.get $20
f32.add
local.set $14
local.get $14
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -4096
i32.and
f32.reinterpret_i32
local.set $14
local.get $20
local.get $14
local.get $19
f32.sub
f32.sub
local.set $15
else
i32.const 0
local.set $24
local.get $4
i32.const 8388608
i32.lt_s
if
local.get $10
f32.const 16777216
f32.mul
local.set $10
local.get $24
i32.const 24
i32.sub
local.set $24
local.get $10
i32.reinterpret_f32
local.set $4
end
local.get $24
local.get $4
i32.const 23
i32.shr_s
i32.const 127
i32.sub
i32.add
local.set $24
local.get $4
i32.const 8388607
i32.and
local.set $8
local.get $8
i32.const 1065353216
i32.or
local.set $4
local.get $8
i32.const 1885297
i32.le_s
if
i32.const 0
local.set $9
else
local.get $8
i32.const 6140887
i32.lt_s
if
i32.const 1
local.set $9
else
i32.const 0
local.set $9
local.get $24
i32.const 1
i32.add
local.set $24
local.get $4
i32.const 8388608
i32.sub
local.set $4
end
end
local.get $4
f32.reinterpret_i32
local.set $10
f32.const 1.5
f32.const 1
local.get $9
select
local.set $30
local.get $10
local.get $30
f32.sub
local.set $19
f32.const 1
local.get $10
local.get $30
f32.add
f32.div
local.set $20
local.get $19
local.get $20
f32.mul
local.set $17
local.get $17
local.set $26
local.get $26
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -4096
i32.and
f32.reinterpret_i32
local.set $26
local.get $4
i32.const 1
i32.shr_s
i32.const -4096
i32.and
i32.const 536870912
i32.or
local.set $25
local.get $25
i32.const 4194304
i32.add
local.get $9
i32.const 21
i32.shl
i32.add
f32.reinterpret_i32
local.set $28
local.get $10
local.get $28
local.get $30
f32.sub
f32.sub
local.set $29
local.get $20
local.get $19
local.get $26
local.get $28
f32.mul
f32.sub
local.get $26
local.get $29
f32.mul
f32.sub
f32.mul
local.set $27
local.get $17
local.get $17
f32.mul
local.set $12
local.get $12
local.get $12
f32.mul
f32.const 0.6000000238418579
local.get $12
f32.const 0.4285714328289032
local.get $12
f32.const 0.3333333432674408
local.get $12
f32.const 0.2727281153202057
local.get $12
f32.const 0.23066075146198273
local.get $12
f32.const 0.20697501301765442
f32.mul
f32.add
f32.mul
f32.add
f32.mul
f32.add
f32.mul
f32.add
f32.mul
f32.add
f32.mul
local.set $16
local.get $16
local.get $27
local.get $26
local.get $17
f32.add
f32.mul
f32.add
local.set $16
local.get $26
local.get $26
f32.mul
local.set $12
f32.const 3
local.get $12
f32.add
local.get $16
f32.add
local.set $28
local.get $28
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -4096
i32.and
f32.reinterpret_i32
local.set $28
local.get $16
local.get $28
f32.const 3
f32.sub
local.get $12
f32.sub
f32.sub
local.set $29
local.get $26
local.get $28
f32.mul
local.set $19
local.get $27
local.get $28
f32.mul
local.get $29
local.get $17
f32.mul
f32.add
local.set $20
local.get $19
local.get $20
f32.add
local.set $22
local.get $22
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -4096
i32.and
f32.reinterpret_i32
local.set $22
local.get $20
local.get $22
local.get $19
f32.sub
f32.sub
local.set $23
f32.const 0.9619140625
local.get $22
f32.mul
local.set $31
f32.const 1.5632208487659227e-06
f32.const 0
local.get $9
select
local.set $32
f32.const -1.1736857413779944e-04
local.get $22
f32.mul
local.get $23
f32.const 0.9617967009544373
f32.mul
f32.add
local.get $32
f32.add
local.set $33
local.get $24
f32.convert_i32_s
local.set $18
f32.const 0.5849609375
f32.const 0
local.get $9
select
local.set $34
local.get $31
local.get $33
f32.add
local.get $34
f32.add
local.get $18
f32.add
local.set $14
local.get $14
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -4096
i32.and
f32.reinterpret_i32
local.set $14
local.get $33
local.get $14
local.get $18
f32.sub
local.get $34
f32.sub
local.get $31
f32.sub
f32.sub
local.set $15
end
local.get $1
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -4096
i32.and
f32.reinterpret_i32
local.set $35
local.get $1
local.get $35
f32.sub
local.get $14
f32.mul
local.get $1
local.get $15
f32.mul
f32.add
local.set $23
local.get $35
local.get $14
f32.mul
local.set $22
local.get $23
local.get $22
f32.add
local.set $11
local.get $11
i32.reinterpret_f32
local.set $8
local.get $8
i32.const 1124073472
i32.gt_s
if
local.get $13
f32.const 1000000015047466219876688e6
f32.mul
f32.const 1000000015047466219876688e6
f32.mul
return
else
local.get $8
i32.const 1124073472
i32.eq
if
local.get $23
f32.const 4.299566569443414e-08
f32.add
local.get $11
local.get $22
f32.sub
f32.gt
if
local.get $13
f32.const 1000000015047466219876688e6
f32.mul
f32.const 1000000015047466219876688e6
f32.mul
return
end
else
local.get $8
i32.const 2147483647
i32.and
i32.const 1125515264
i32.gt_s
if
local.get $13
f32.const 1.0000000031710769e-30
f32.mul
f32.const 1.0000000031710769e-30
f32.mul
return
else
local.get $8
i32.const -1021968384
i32.eq
if
local.get $23
local.get $11
local.get $22
f32.sub
f32.le
if
local.get $13
f32.const 1.0000000031710769e-30
f32.mul
f32.const 1.0000000031710769e-30
f32.mul
return
end
end
end
end
end
local.get $8
i32.const 2147483647
i32.and
local.set $36
local.get $36
i32.const 23
i32.shr_s
i32.const 127
i32.sub
local.set $9
i32.const 0
local.set $24
local.get $36
i32.const 1056964608
i32.gt_s
if
local.get $8
i32.const 8388608
local.get $9
i32.const 1
i32.add
i32.shr_s
i32.add
local.set $24
local.get $24
i32.const 2147483647
i32.and
i32.const 23
i32.shr_s
i32.const 127
i32.sub
local.set $9
local.get $24
i32.const 8388607
local.get $9
i32.shr_s
i32.const -1
i32.xor
i32.and
f32.reinterpret_i32
local.set $18
local.get $24
i32.const 8388607
i32.and
i32.const 8388608
i32.or
i32.const 23
local.get $9
i32.sub
i32.shr_s
local.set $24
local.get $8
i32.const 0
i32.lt_s
if
i32.const 0
local.get $24
i32.sub
local.set $24
end
local.get $22
local.get $18
f32.sub
local.set $22
end
local.get $23
local.get $22
f32.add
local.set $18
local.get $18
i32.reinterpret_f32
local.set $25
local.get $25
i32.const -32768
i32.and
f32.reinterpret_i32
local.set $18
local.get $18
f32.const 0.693145751953125
f32.mul
local.set $19
local.get $23
local.get $18
local.get $22
f32.sub
f32.sub
f32.const 0.6931471824645996
f32.mul
local.get $18
f32.const 1.4286065379565116e-06
f32.mul
f32.add
local.set $20
local.get $19
local.get $20
f32.add
local.set $11
local.get $20
local.get $11
local.get $19
f32.sub
f32.sub
local.set $21
local.get $11
local.get $11
f32.mul
local.set $18
local.get $11
local.get $18
f32.const 0.1666666716337204
local.get $18
f32.const -2.7777778450399637e-03
local.get $18
f32.const 6.61375597701408e-05
local.get $18
f32.const -1.6533901998627698e-06
local.get $18
f32.const 4.138136944220605e-08
f32.mul
f32.add
f32.mul
f32.add
f32.mul
f32.add
f32.mul
f32.add
f32.mul
f32.sub
local.set $14
local.get $11
local.get $14
f32.mul
local.get $14
f32.const 2
f32.sub
f32.div
local.get $21
local.get $11
local.get $21
f32.mul
f32.add
f32.sub
local.set $16
f32.const 1
local.get $16
local.get $11
f32.sub
f32.sub
local.set $11
local.get $11
i32.reinterpret_f32
local.set $8
local.get $8
local.get $24
i32.const 23
i32.shl
i32.add
local.set $8
local.get $8
i32.const 23
i32.shr_s
i32.const 0
i32.le_s
if
local.get $11
local.get $24
call $~lib/math/NativeMathf.scalbn
local.set $11
else
local.get $8
f32.reinterpret_i32
local.set $11
end
local.get $13
local.get $11
f32.mul
)
(func $~lib/math/NativeMath.mod (; 5 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
(local $2 i64)
(local $3 i64)
(local $4 i64)
(local $5 i64)
(local $6 i64)
(local $7 i64)
(local $8 i32)
(local $9 f64)
(local $10 i64)
(local $11 i64)
local.get $0
i64.reinterpret_f64
local.set $2
local.get $1
i64.reinterpret_f64
local.set $3
local.get $2
i64.const 52
i64.shr_u
i64.const 2047
i64.and
local.set $4
local.get $3
i64.const 52
i64.shr_u
i64.const 2047
i64.and
local.set $5
local.get $2
i64.const 63
i64.shr_u
local.set $6
local.get $3
i64.const 1
i64.shl
local.set $7
local.get $7
i64.const 0
i64.eq
local.tee $8
if (result i32)
local.get $8
else
local.get $4
i64.const 2047
i64.eq
end
local.tee $8
if (result i32)
local.get $8
else
local.get $1
local.set $9
local.get $9
local.get $9
f64.ne
end
i32.const 0
i32.ne
if
local.get $0
local.get $1
f64.mul
local.set $9
local.get $9
local.get $9
f64.div
return
end
local.get $2
i64.const 1
i64.shl
local.set $10
local.get $10
local.get $7
i64.le_u
if
local.get $10
local.get $7
i64.eq
if
f64.const 0
local.get $0
f64.mul
return
end
local.get $0
return
end
local.get $4
i64.eqz
if
local.get $4
local.get $2
i64.const 12
i64.shl
i64.clz
i64.sub
local.set $4
local.get $2
i64.const 0
local.get $4
i64.sub
i64.const 1
i64.add
i64.shl
local.set $2
else
local.get $2
i64.const -1
i64.const 12
i64.shr_u
i64.and
local.set $2
local.get $2
i64.const 1
i64.const 52
i64.shl
i64.or
local.set $2
end
local.get $5
i64.eqz
if
local.get $5
local.get $3
i64.const 12
i64.shl
i64.clz
i64.sub
local.set $5
local.get $3
i64.const 0
local.get $5
i64.sub
i64.const 1
i64.add
i64.shl
local.set $3
else
local.get $3
i64.const -1
i64.const 12
i64.shr_u
i64.and
local.set $3
local.get $3
i64.const 1
i64.const 52
i64.shl
i64.or
local.set $3
end
block $break|0
loop $continue|0
local.get $4
local.get $5
i64.gt_s
if
block
local.get $2
local.get $3
i64.ge_u
if
local.get $2
local.get $3
i64.eq
if
f64.const 0
local.get $0
f64.mul
return
end
local.get $2
local.get $3
i64.sub
local.set $2
end
local.get $2
i64.const 1
i64.shl
local.set $2
local.get $4
i64.const 1
i64.sub
local.set $4
end
br $continue|0
end
end
end
local.get $2
local.get $3
i64.ge_u
if
local.get $2
local.get $3
i64.eq
if
f64.const 0
local.get $0
f64.mul
return
end
local.get $2
local.get $3
i64.sub
local.set $2
end
local.get $2
i64.const 11
i64.shl
i64.clz
local.set $11
local.get $4
local.get $11
i64.sub
local.set $4
local.get $2
local.get $11
i64.shl
local.set $2
local.get $4
i64.const 0
i64.gt_s
if
local.get $2
i64.const 1
i64.const 52
i64.shl
i64.sub
local.set $2
local.get $2
local.get $4
i64.const 52
i64.shl
i64.or
local.set $2
else
local.get $2
i64.const 0
local.get $4
i64.sub
i64.const 1
i64.add
i64.shr_u
local.set $2
end
local.get $2
local.get $6
i64.const 63
i64.shl
i64.or
local.set $2
local.get $2
f64.reinterpret_i64
)
(func $start:binary (; 6 ;) (type $FUNCSIG$v)
global.get $binary/i
i32.const 1
i32.lt_s
drop
global.get $binary/i
i32.const 1
i32.gt_s
drop
global.get $binary/i
i32.const 1
i32.le_s
drop
global.get $binary/i
i32.const 1
i32.ge_s
drop
global.get $binary/i
i32.const 1
i32.eq
drop
global.get $binary/i
i32.const 1
i32.eq
drop
global.get $binary/i
i32.const 1
i32.add
drop
global.get $binary/i
i32.const 1
i32.sub
drop
global.get $binary/i
i32.const 1
i32.mul
drop
global.get $binary/i
i32.const 1
i32.div_s
drop
global.get $binary/i
i32.const 1
i32.rem_s
drop
global.get $binary/i
f64.convert_i32_s
f64.const 1
call $~lib/math/NativeMath.pow
drop
global.get $binary/i
i32.const 1
i32.shl
drop
global.get $binary/i
i32.const 1
i32.shr_s
drop
global.get $binary/i
i32.const 1
i32.shr_u
drop
global.get $binary/i
i32.const 1
i32.and
drop
global.get $binary/i
i32.const 1
i32.or
drop
global.get $binary/i
i32.const 1
i32.xor
drop
global.get $binary/i
i32.const 1
i32.lt_s
global.set $binary/b
global.get $binary/i
i32.const 1
i32.gt_s
global.set $binary/b
global.get $binary/i
i32.const 1
i32.le_s
global.set $binary/b
global.get $binary/i
i32.const 1
i32.ge_s
global.set $binary/b
global.get $binary/i
i32.const 1
i32.eq
global.set $binary/b
global.get $binary/i
i32.const 1
i32.eq
global.set $binary/b
global.get $binary/i
i32.const 1
i32.add
global.set $binary/i
global.get $binary/i
i32.const 1
i32.sub
global.set $binary/i
global.get $binary/i
i32.const 1
i32.mul
global.set $binary/i
global.get $binary/i
i32.const 1
i32.div_s
global.set $binary/i
global.get $binary/i
i32.const 1
i32.rem_s
global.set $binary/i
global.get $binary/i
f64.convert_i32_s
f64.const 1
call $~lib/math/NativeMath.pow
i32.trunc_f64_s
global.set $binary/i
global.get $binary/i
i32.const 1
i32.shl
global.set $binary/i
global.get $binary/i
i32.const 1
i32.shr_s
global.set $binary/i
global.get $binary/i
i32.const 1
i32.shr_u
global.set $binary/i
global.get $binary/i
i32.const 1
i32.and
global.set $binary/i
global.get $binary/i
i32.const 1
i32.or
global.set $binary/i
global.get $binary/i
i32.const 1
i32.xor
global.set $binary/i
global.get $binary/i
i32.const 1
i32.add
global.set $binary/i
global.get $binary/i
i32.const 1
i32.sub
global.set $binary/i
global.get $binary/i
i32.const 1
i32.mul
global.set $binary/i
global.get $binary/i
i32.const 1
i32.rem_s
global.set $binary/i
global.get $binary/i
i32.const 1
i32.shl
global.set $binary/i
global.get $binary/i
i32.const 1
i32.shr_s
global.set $binary/i
global.get $binary/i
i32.const 1
i32.shr_u
global.set $binary/i
global.get $binary/i
i32.const 1
i32.and
global.set $binary/i
global.get $binary/i
i32.const 1
i32.or
global.set $binary/i
global.get $binary/i
i32.const 1
i32.xor
global.set $binary/i
global.get $binary/I
i64.const 1
i64.lt_s
drop
global.get $binary/I
i64.const 1
i64.gt_s
drop
global.get $binary/I
i64.const 1
i64.le_s
drop
global.get $binary/I
i64.const 1
i64.ge_s
drop
global.get $binary/I
i64.const 1
i64.eq
drop
global.get $binary/I
i64.const 1
i64.eq
drop
global.get $binary/I
i64.const 1
i64.add
drop
global.get $binary/I
i64.const 1
i64.sub
drop
global.get $binary/I
i64.const 1
i64.mul
drop
global.get $binary/I
i64.const 1
i64.div_s
drop
global.get $binary/I
i64.const 1
i64.rem_s
drop
global.get $binary/I
f64.convert_i64_s
f64.const 1
call $~lib/math/NativeMath.pow
drop
global.get $binary/I
i64.const 1
i64.shl
drop
global.get $binary/I
i64.const 1
i64.shr_s
drop
global.get $binary/I
i64.const 1
i64.shr_u
drop
global.get $binary/I
i64.const 1
i64.and
drop
global.get $binary/I
i64.const 1
i64.or
drop
global.get $binary/I
i64.const 1
i64.xor
drop
global.get $binary/I
i64.const 1
i64.lt_s
global.set $binary/b
global.get $binary/I
i64.const 1
i64.gt_s
global.set $binary/b
global.get $binary/I
i64.const 1
i64.le_s
global.set $binary/b
global.get $binary/I
i64.const 1
i64.ge_s
global.set $binary/b
global.get $binary/I
i64.const 1
i64.eq
global.set $binary/b
global.get $binary/I
i64.const 1
i64.eq
global.set $binary/b
global.get $binary/I
i64.const 1
i64.add
global.set $binary/I
global.get $binary/I
i64.const 1
i64.sub
global.set $binary/I
global.get $binary/I
i64.const 1
i64.mul
global.set $binary/I
global.get $binary/I
i64.const 1
i64.div_s
global.set $binary/I
global.get $binary/I
i64.const 1
i64.rem_s
global.set $binary/I
global.get $binary/I
f64.convert_i64_s
f64.const 1
call $~lib/math/NativeMath.pow
i64.trunc_f64_s
global.set $binary/I
global.get $binary/I
i64.const 1
i64.shl
global.set $binary/I
global.get $binary/I
i64.const 1
i64.shr_s
global.set $binary/I
global.get $binary/I
i64.const 1
i64.shr_u
global.set $binary/I
global.get $binary/I
i64.const 1
i64.and
global.set $binary/I
global.get $binary/I
i64.const 1
i64.or
global.set $binary/I
global.get $binary/I
i64.const 1
i64.xor
global.set $binary/I
global.get $binary/I
i64.const 1
i64.add
global.set $binary/I
global.get $binary/I
i64.const 1
i64.sub
global.set $binary/I
global.get $binary/I
i64.const 1
i64.mul
global.set $binary/I
global.get $binary/I
i64.const 1
i64.rem_s
global.set $binary/I
global.get $binary/I
i64.const 1
i64.shl
global.set $binary/I
global.get $binary/I
i64.const 1
i64.shr_s
global.set $binary/I
global.get $binary/I
i64.const 1
i64.shr_u
global.set $binary/I
global.get $binary/I
i64.const 1
i64.and
global.set $binary/I
global.get $binary/I
i64.const 1
i64.or
global.set $binary/I
global.get $binary/I
i64.const 1
i64.xor
global.set $binary/I
global.get $binary/f
f32.const 1
f32.lt
drop
global.get $binary/f
f32.const 1
f32.gt
drop
global.get $binary/f
f32.const 1
f32.le
drop
global.get $binary/f
f32.const 1
f32.ge
drop
global.get $binary/f
f32.const 1
f32.eq
drop
global.get $binary/f
f32.const 1
f32.eq
drop
global.get $binary/f
f32.const 1
f32.add
drop
global.get $binary/f
f32.const 1
f32.sub
drop
global.get $binary/f
f32.const 1
f32.mul
drop
global.get $binary/f
f32.const 1
f32.div
drop
global.get $binary/f
f32.const 1
call $~lib/math/NativeMathf.mod
drop
global.get $binary/f
f32.const 1
call $~lib/math/NativeMathf.pow
drop
global.get $binary/f
f32.const 1
f32.lt
global.set $binary/b
global.get $binary/f
f32.const 1
f32.gt
global.set $binary/b
global.get $binary/f
f32.const 1
f32.le
global.set $binary/b
global.get $binary/f
f32.const 1
f32.ge
global.set $binary/b
global.get $binary/f
f32.const 1
f32.eq
global.set $binary/b
global.get $binary/f
f32.const 1
f32.eq
global.set $binary/b
global.get $binary/f
f32.const 1
f32.add
global.set $binary/f
global.get $binary/f
f32.const 1
f32.sub
global.set $binary/f
global.get $binary/f
f32.const 1
f32.mul
global.set $binary/f
global.get $binary/f
f32.const 1
f32.div
global.set $binary/f
global.get $binary/f
f32.const 1
call $~lib/math/NativeMathf.mod
global.set $binary/f
global.get $binary/f
f32.const 1
call $~lib/math/NativeMathf.pow
global.set $binary/f
global.get $binary/f
f32.const 1
f32.add
global.set $binary/f
global.get $binary/f
f32.const 1
f32.sub
global.set $binary/f
global.get $binary/f
f32.const 1
f32.mul
global.set $binary/f
global.get $binary/f
f32.const 1
call $~lib/math/NativeMathf.mod
global.set $binary/f
global.get $binary/f
f32.const 1
call $~lib/math/NativeMathf.pow
global.set $binary/f
global.get $binary/F
f64.const 1
f64.lt
drop
global.get $binary/F
f64.const 1
f64.gt
drop
global.get $binary/F
f64.const 1
f64.le
drop
global.get $binary/F
f64.const 1
f64.ge
drop
global.get $binary/F
f64.const 1
f64.eq
drop
global.get $binary/F
f64.const 1
f64.eq
drop
global.get $binary/F
f64.const 1
f64.add
drop
global.get $binary/F
f64.const 1
f64.sub
drop
global.get $binary/F
f64.const 1
f64.mul
drop
global.get $binary/F
f64.const 1
f64.div
drop
global.get $binary/F
f64.const 1
call $~lib/math/NativeMath.mod
drop
global.get $binary/F
f64.const 1
call $~lib/math/NativeMath.pow
drop
global.get $binary/F
f64.const 1
f64.lt
global.set $binary/b
global.get $binary/F
f64.const 1
f64.gt
global.set $binary/b
global.get $binary/F
f64.const 1
f64.le
global.set $binary/b
global.get $binary/F
f64.const 1
f64.ge
global.set $binary/b
global.get $binary/F
f64.const 1
f64.eq
global.set $binary/b
global.get $binary/F
f64.const 1
f64.eq
global.set $binary/b
global.get $binary/F
f64.const 1
f64.add
global.set $binary/F
global.get $binary/F
f64.const 1
f64.sub
global.set $binary/F
global.get $binary/F
f64.const 1
f64.mul
global.set $binary/F
global.get $binary/F
f64.const 1
f64.div
global.set $binary/F
global.get $binary/F
f64.const 1
call $~lib/math/NativeMath.mod
global.set $binary/F
global.get $binary/F
f64.const 1
call $~lib/math/NativeMath.pow
global.set $binary/F
global.get $binary/F
f64.const 1
f64.add
global.set $binary/F
global.get $binary/F
f64.const 1
f64.sub
global.set $binary/F
global.get $binary/F
f64.const 1
f64.mul
global.set $binary/F
global.get $binary/F
f64.const 1
call $~lib/math/NativeMath.mod
global.set $binary/F
global.get $binary/F
f64.const 1
call $~lib/math/NativeMath.pow
global.set $binary/F
)
(func $start (; 7 ;) (type $FUNCSIG$v)
call $start:binary
)
(func $null (; 8 ;) (type $FUNCSIG$v)
)
)