mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 15:12:12 +00:00
2520 lines
34 KiB
Plaintext
2520 lines
34 KiB
Plaintext
(module
|
|
(type $iiiiv (func (param i32 i32 i32 i32)))
|
|
(type $F (func (result f64)))
|
|
(type $fi (func (param f32) (result i32)))
|
|
(type $Fi (func (param f64) (result i32)))
|
|
(type $i (func (result i32)))
|
|
(type $v (func))
|
|
(type $f (func (result f32)))
|
|
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
|
|
(global $builtins/b (mut i32) (i32.const 0))
|
|
(global $builtins/i (mut i32) (i32.const 0))
|
|
(global $builtins/I (mut i64) (i64.const 0))
|
|
(global $builtins/f (mut f32) (f32.const 0))
|
|
(global $NaN f64 (f64.const nan:0x8000000000000))
|
|
(global $Infinity f64 (f64.const inf))
|
|
(global $builtins/F (mut f64) (f64.const 0))
|
|
(global $builtins/constantOffset i32 (i32.const 8))
|
|
(global $builtins/u (mut i32) (i32.const 0))
|
|
(global $builtins/U (mut i64) (i64.const 0))
|
|
(global $builtins/s (mut i32) (i32.const 0))
|
|
(global $HEAP_BASE i32 (i32.const 40))
|
|
(memory $0 1)
|
|
(data (i32.const 4) "\0b\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00")
|
|
(data (i32.const 32) "\01\00\00\001\00")
|
|
(export "test" (func $builtins/test))
|
|
(export "memory" (memory $0))
|
|
(start $start)
|
|
(func $isNaN<f32> (; 1 ;) (type $fi) (param $0 f32) (result i32)
|
|
(return
|
|
(f32.ne
|
|
(get_local $0)
|
|
(get_local $0)
|
|
)
|
|
)
|
|
)
|
|
(func $isFinite<f32> (; 2 ;) (type $fi) (param $0 f32) (result i32)
|
|
(return
|
|
(f32.eq
|
|
(f32.sub
|
|
(get_local $0)
|
|
(get_local $0)
|
|
)
|
|
(f32.const 0)
|
|
)
|
|
)
|
|
)
|
|
(func $isNaN<f64> (; 3 ;) (type $Fi) (param $0 f64) (result i32)
|
|
(return
|
|
(f64.ne
|
|
(get_local $0)
|
|
(get_local $0)
|
|
)
|
|
)
|
|
)
|
|
(func $isFinite<f64> (; 4 ;) (type $Fi) (param $0 f64) (result i32)
|
|
(return
|
|
(f64.eq
|
|
(f64.sub
|
|
(get_local $0)
|
|
(get_local $0)
|
|
)
|
|
(f64.const 0)
|
|
)
|
|
)
|
|
)
|
|
(func $builtins/test (; 5 ;) (type $v)
|
|
)
|
|
(func $start (; 6 ;) (type $v)
|
|
(local $0 i32)
|
|
(local $1 i32)
|
|
(local $2 i64)
|
|
(local $3 i64)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 5)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 6)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 7)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 8)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 9)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 10)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 11)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 12)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 14)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 15)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 16)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 17)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 18)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 19)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 20)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 21)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.const 1)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 22)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 23)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.clz
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.ctz
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.popcnt
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.rotl
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.rotr
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(tee_local $0
|
|
(i32.const -42)
|
|
)
|
|
(i32.sub
|
|
(i32.const 0)
|
|
(get_local $0)
|
|
)
|
|
(i32.gt_s
|
|
(get_local $0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(tee_local $0
|
|
(i32.const 1)
|
|
)
|
|
(tee_local $1
|
|
(i32.const 2)
|
|
)
|
|
(i32.gt_s
|
|
(get_local $0)
|
|
(get_local $1)
|
|
)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(tee_local $0
|
|
(i32.const 1)
|
|
)
|
|
(tee_local $1
|
|
(i32.const 2)
|
|
)
|
|
(i32.lt_s
|
|
(get_local $0)
|
|
(get_local $1)
|
|
)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.clz
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.ctz
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.popcnt
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.rotl
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.rotr
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(select
|
|
(tee_local $0
|
|
(i32.const -42)
|
|
)
|
|
(i32.sub
|
|
(i32.const 0)
|
|
(get_local $0)
|
|
)
|
|
(i32.gt_s
|
|
(get_local $0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(get_global $builtins/i)
|
|
(i32.const 42)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 43)
|
|
(i32.const 19)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(select
|
|
(tee_local $0
|
|
(i32.const 1)
|
|
)
|
|
(tee_local $1
|
|
(i32.const 2)
|
|
)
|
|
(i32.gt_s
|
|
(get_local $0)
|
|
(get_local $1)
|
|
)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(get_global $builtins/i)
|
|
(i32.const 2)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 44)
|
|
(i32.const 20)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(select
|
|
(tee_local $0
|
|
(i32.const 1)
|
|
)
|
|
(tee_local $1
|
|
(i32.const 2)
|
|
)
|
|
(i32.lt_s
|
|
(get_local $0)
|
|
(get_local $1)
|
|
)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(get_global $builtins/i)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 45)
|
|
(i32.const 20)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(drop
|
|
(i64.clz
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i64.ctz
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i64.popcnt
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i64.rotl
|
|
(i64.const 1)
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i64.rotr
|
|
(i64.const 1)
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(tee_local $2
|
|
(i64.const -42)
|
|
)
|
|
(i64.sub
|
|
(i64.const 0)
|
|
(get_local $2)
|
|
)
|
|
(i64.gt_s
|
|
(get_local $2)
|
|
(i64.const 0)
|
|
)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.clz
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.ctz
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.popcnt
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.rotl
|
|
(i64.const 1)
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.rotr
|
|
(i64.const 1)
|
|
(i64.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(select
|
|
(tee_local $2
|
|
(i64.const -42)
|
|
)
|
|
(i64.sub
|
|
(i64.const 0)
|
|
(get_local $2)
|
|
)
|
|
(i64.gt_s
|
|
(get_local $2)
|
|
(i64.const 0)
|
|
)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i64.eq
|
|
(get_global $builtins/I)
|
|
(i64.const 42)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 61)
|
|
(i32.const 19)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(select
|
|
(tee_local $2
|
|
(i64.const 1)
|
|
)
|
|
(tee_local $3
|
|
(i64.const 2)
|
|
)
|
|
(i64.gt_s
|
|
(get_local $2)
|
|
(get_local $3)
|
|
)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i64.eq
|
|
(get_global $builtins/I)
|
|
(i64.const 2)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 62)
|
|
(i32.const 20)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(select
|
|
(tee_local $2
|
|
(i64.const 1)
|
|
)
|
|
(tee_local $3
|
|
(i64.const 2)
|
|
)
|
|
(i64.lt_s
|
|
(get_local $2)
|
|
(get_local $3)
|
|
)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(get_global $builtins/i)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 63)
|
|
(i32.const 20)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.const nan:0x400000)
|
|
)
|
|
(drop
|
|
(f32.const inf)
|
|
)
|
|
(drop
|
|
(f32.abs
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.ceil
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.copysign
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.floor
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.max
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.min
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.nearest
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.sqrt
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.trunc
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isNaN<f32>
|
|
(f32.const 1.25)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 80)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isNaN<f32>
|
|
(f32.const nan:0x400000)
|
|
)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 81)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f32>
|
|
(f32.const 1.25)
|
|
)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 82)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f32>
|
|
(f32.const inf)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 83)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f32>
|
|
(f32.neg
|
|
(f32.const inf)
|
|
)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 84)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f32>
|
|
(f32.const nan:0x400000)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 85)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.const nan:0x400000)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.const inf)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.abs
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.ceil
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.copysign
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.floor
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.max
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.min
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.nearest
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.sqrt
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.trunc
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/b
|
|
(call $isNaN<f32>
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/b
|
|
(call $isFinite<f32>
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
(drop
|
|
(f64.const inf)
|
|
)
|
|
(drop
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
(drop
|
|
(f64.const inf)
|
|
)
|
|
(drop
|
|
(f64.abs
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.ceil
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.copysign
|
|
(f64.const 1.25)
|
|
(f64.const 2.5)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.floor
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.max
|
|
(f64.const 1.25)
|
|
(f64.const 2.5)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.min
|
|
(f64.const 1.25)
|
|
(f64.const 2.5)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.nearest
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.sqrt
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.trunc
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isNaN<f64>
|
|
(f64.const 1.25)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 116)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isNaN<f64>
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 117)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f64>
|
|
(f64.const 1.25)
|
|
)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 118)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f64>
|
|
(f64.const inf)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 119)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f64>
|
|
(f64.neg
|
|
(f64.const inf)
|
|
)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 120)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(call $isFinite<f64>
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 121)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.const inf)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.abs
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.ceil
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.copysign
|
|
(f64.const 1.25)
|
|
(f64.const 2.5)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.floor
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.max
|
|
(f64.const 1.25)
|
|
(f64.const 2.5)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.min
|
|
(f64.const 1.25)
|
|
(f64.const 2.5)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.nearest
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.sqrt
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.trunc
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/b
|
|
(call $isNaN<f64>
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/b
|
|
(call $isFinite<f64>
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(i32.store
|
|
(i32.const 8)
|
|
(get_global $builtins/i)
|
|
)
|
|
(i32.store
|
|
(i32.const 8)
|
|
(i32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(i64.store
|
|
(i32.const 8)
|
|
(get_global $builtins/I)
|
|
)
|
|
(i64.store
|
|
(i32.const 8)
|
|
(i64.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(f32.store
|
|
(i32.const 8)
|
|
(get_global $builtins/f)
|
|
)
|
|
(f32.store
|
|
(i32.const 8)
|
|
(f32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(f64.store
|
|
(i32.const 8)
|
|
(get_global $builtins/F)
|
|
)
|
|
(f64.store
|
|
(i32.const 8)
|
|
(f64.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(i32.store offset=8
|
|
(i32.const 0)
|
|
(get_global $builtins/i)
|
|
)
|
|
(i32.store offset=8
|
|
(i32.const 0)
|
|
(i32.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(i64.store offset=8
|
|
(i32.const 0)
|
|
(get_global $builtins/I)
|
|
)
|
|
(i64.store offset=8
|
|
(i32.const 0)
|
|
(i64.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(f32.store offset=8
|
|
(i32.const 0)
|
|
(get_global $builtins/f)
|
|
)
|
|
(f32.store offset=8
|
|
(i32.const 0)
|
|
(f32.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(f64.store offset=8
|
|
(i32.const 0)
|
|
(get_global $builtins/F)
|
|
)
|
|
(f64.store offset=8
|
|
(i32.const 0)
|
|
(f64.load offset=8
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load8_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load16_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load8_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load16_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/u
|
|
(i32.load8_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/u
|
|
(i32.load16_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/u
|
|
(i32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/u
|
|
(i32.load8_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/u
|
|
(i32.load16_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/u
|
|
(i32.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.load8_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.load16_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.load32_s
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/U
|
|
(i64.load8_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/U
|
|
(i64.load16_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/U
|
|
(i64.load32_u
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(set_global $builtins/U
|
|
(i64.load
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(i32.store8
|
|
(i32.const 8)
|
|
(i32.const 1)
|
|
)
|
|
(i32.store16
|
|
(i32.const 8)
|
|
(i32.const 1)
|
|
)
|
|
(i32.store
|
|
(i32.const 8)
|
|
(i32.const 1)
|
|
)
|
|
(i64.store8
|
|
(i32.const 8)
|
|
(i64.const 1)
|
|
)
|
|
(i64.store16
|
|
(i32.const 8)
|
|
(i64.const 1)
|
|
)
|
|
(i64.store32
|
|
(i32.const 8)
|
|
(i64.const 1)
|
|
)
|
|
(i64.store
|
|
(i32.const 8)
|
|
(i64.const 1)
|
|
)
|
|
(i64.store
|
|
(i32.const 8)
|
|
(i64.extend_s/i32
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.reinterpret/f32
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f32.reinterpret/i32
|
|
(i32.const 25)
|
|
)
|
|
)
|
|
(drop
|
|
(i64.reinterpret/f64
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(drop
|
|
(f64.reinterpret/i64
|
|
(i64.const 25)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(i32.reinterpret/f32
|
|
(f32.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(f32.reinterpret/i32
|
|
(i32.const 25)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(i64.reinterpret/f64
|
|
(f64.const 1.25)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(f64.reinterpret/i64
|
|
(i64.const 25)
|
|
)
|
|
)
|
|
(drop
|
|
(current_memory)
|
|
)
|
|
(drop
|
|
(grow_memory
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/s
|
|
(current_memory)
|
|
)
|
|
(set_global $builtins/s
|
|
(grow_memory
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(i32.const 10)
|
|
(i32.const 20)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(i64.const 100)
|
|
(i64.const 200)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(drop
|
|
(select
|
|
(f64.const 12.5)
|
|
(f64.const 25)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(set_global $builtins/i
|
|
(select
|
|
(i32.const 10)
|
|
(i32.const 20)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/I
|
|
(select
|
|
(i64.const 100)
|
|
(i64.const 200)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(set_global $builtins/f
|
|
(select
|
|
(f32.const 1.25)
|
|
(f32.const 2.5)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(set_global $builtins/F
|
|
(select
|
|
(f64.const 12.5)
|
|
(f64.const 25)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(get_global $builtins/i)
|
|
)
|
|
(unreachable)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 237)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 2)
|
|
(i32.const 2)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 238)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 4)
|
|
(i32.const 4)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 239)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 8)
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 240)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.const 4)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 242)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 243)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 2)
|
|
(i32.const 2)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 244)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 4)
|
|
(i32.const 4)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 245)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 8)
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 246)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(drop
|
|
(i32.const 4)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 4)
|
|
(i32.const 4)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 248)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 8)
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 249)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 252)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 4)
|
|
(i32.const 4)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 253)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 254)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 2)
|
|
(i32.const 2)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 255)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 257)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 8)
|
|
(i32.const 8)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 258)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f64.ne
|
|
(f64.const nan:0x8000000000000)
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 260)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(call $isNaN<f32>
|
|
(f32.const nan:0x400000)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 261)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(call $isNaN<f64>
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 262)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(call $isFinite<f32>
|
|
(f32.const nan:0x400000)
|
|
)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 263)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(call $isFinite<f32>
|
|
(f32.const inf)
|
|
)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 264)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(call $isFinite<f64>
|
|
(f64.const nan:0x8000000000000)
|
|
)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 265)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eqz
|
|
(call $isFinite<f64>
|
|
(f64.const inf)
|
|
)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 266)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(call $isFinite<f32>
|
|
(f32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 267)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(call $isFinite<f64>
|
|
(f64.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 268)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const -128)
|
|
(i32.shr_s
|
|
(i32.shl
|
|
(i32.const 128)
|
|
(i32.const 24)
|
|
)
|
|
(i32.const 24)
|
|
)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 281)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 127)
|
|
(i32.const 127)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 282)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const -32768)
|
|
(i32.shr_s
|
|
(i32.shl
|
|
(i32.const 32768)
|
|
(i32.const 16)
|
|
)
|
|
(i32.const 16)
|
|
)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 283)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 32767)
|
|
(i32.const 32767)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 284)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const -2147483648)
|
|
(i32.const -2147483648)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 285)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 2147483647)
|
|
(i32.const 2147483647)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 286)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i64.eq
|
|
(i64.const -9223372036854775808)
|
|
(i64.const -9223372036854775808)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 287)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i64.eq
|
|
(i64.const 9223372036854775807)
|
|
(i64.const 9223372036854775807)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 288)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 290)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 255)
|
|
(i32.const 255)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 291)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 292)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 65535)
|
|
(i32.const 65535)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 293)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 294)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const -1)
|
|
(i32.const -1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 295)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i64.eq
|
|
(i64.const 0)
|
|
(i64.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 296)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i64.eq
|
|
(i64.const -1)
|
|
(i64.const -1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 297)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 298)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 298)
|
|
(i32.const 29)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 299)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(i32.eq
|
|
(i32.const 1)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 299)
|
|
(i32.const 29)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f32.eq
|
|
(f32.const -3402823466385288598117041e14)
|
|
(f32.const -3402823466385288598117041e14)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 301)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f32.eq
|
|
(f32.const 3402823466385288598117041e14)
|
|
(f32.const 3402823466385288598117041e14)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 302)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f32.eq
|
|
(f32.const -16777215)
|
|
(f32.const -16777215)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 303)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f32.eq
|
|
(f32.const 16777215)
|
|
(f32.const 16777215)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 304)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f32.eq
|
|
(f32.const 1.1920928955078125e-07)
|
|
(f32.const 1.1920928955078125e-07)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 305)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f64.eq
|
|
(f64.const -1797693134862315708145274e284)
|
|
(f64.const -1797693134862315708145274e284)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 306)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f64.eq
|
|
(f64.const 1797693134862315708145274e284)
|
|
(f64.const 1797693134862315708145274e284)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 307)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f64.eq
|
|
(f64.const -9007199254740991)
|
|
(f64.const -9007199254740991)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 308)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f64.eq
|
|
(f64.const 9007199254740991)
|
|
(f64.const 9007199254740991)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 309)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(if
|
|
(i32.eqz
|
|
(f64.eq
|
|
(f64.const 2.220446049250313e-16)
|
|
(f64.const 2.220446049250313e-16)
|
|
)
|
|
)
|
|
(block
|
|
(call $abort
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
(i32.const 310)
|
|
(i32.const 0)
|
|
)
|
|
(unreachable)
|
|
)
|
|
)
|
|
(drop
|
|
(call $isNaN<f64>
|
|
(f64.const 1)
|
|
)
|
|
)
|
|
)
|
|
)
|