assemblyscript/tests/compiler/std/operator-overloading.optimized.wat

2439 lines
47 KiB
Plaintext

(module
(type $FUNCSIG$v (func))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ddd (func (param f64 f64) (result f64)))
(type $FUNCSIG$ddi (func (param f64 i32) (result f64)))
(type $FUNCSIG$i (func (result i32)))
(import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32)))
(memory $0 1)
(data (i32.const 8) "\1b\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s")
(table $0 1 funcref)
(elem (i32.const 0) $null)
(global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0))
(global $~lib/allocator/arena/offset (mut i32) (i32.const 0))
(global $std/operator-overloading/a1 (mut i32) (i32.const 0))
(global $std/operator-overloading/a2 (mut i32) (i32.const 0))
(global $std/operator-overloading/a (mut i32) (i32.const 0))
(global $std/operator-overloading/s1 (mut i32) (i32.const 0))
(global $std/operator-overloading/s2 (mut i32) (i32.const 0))
(global $std/operator-overloading/s (mut i32) (i32.const 0))
(global $std/operator-overloading/m1 (mut i32) (i32.const 0))
(global $std/operator-overloading/m2 (mut i32) (i32.const 0))
(global $std/operator-overloading/m (mut i32) (i32.const 0))
(global $std/operator-overloading/d1 (mut i32) (i32.const 0))
(global $std/operator-overloading/d2 (mut i32) (i32.const 0))
(global $std/operator-overloading/d (mut i32) (i32.const 0))
(global $std/operator-overloading/f1 (mut i32) (i32.const 0))
(global $std/operator-overloading/f2 (mut i32) (i32.const 0))
(global $std/operator-overloading/f (mut i32) (i32.const 0))
(global $std/operator-overloading/p1 (mut i32) (i32.const 0))
(global $std/operator-overloading/p2 (mut i32) (i32.const 0))
(global $std/operator-overloading/p (mut i32) (i32.const 0))
(global $std/operator-overloading/n1 (mut i32) (i32.const 0))
(global $std/operator-overloading/n2 (mut i32) (i32.const 0))
(global $std/operator-overloading/n (mut i32) (i32.const 0))
(global $std/operator-overloading/o1 (mut i32) (i32.const 0))
(global $std/operator-overloading/o2 (mut i32) (i32.const 0))
(global $std/operator-overloading/o (mut i32) (i32.const 0))
(global $std/operator-overloading/x1 (mut i32) (i32.const 0))
(global $std/operator-overloading/x2 (mut i32) (i32.const 0))
(global $std/operator-overloading/x (mut i32) (i32.const 0))
(global $std/operator-overloading/eq1 (mut i32) (i32.const 0))
(global $std/operator-overloading/eq2 (mut i32) (i32.const 0))
(global $std/operator-overloading/eq (mut i32) (i32.const 0))
(global $std/operator-overloading/eq3 (mut i32) (i32.const 0))
(global $std/operator-overloading/eq4 (mut i32) (i32.const 0))
(global $std/operator-overloading/eqf (mut i32) (i32.const 0))
(global $std/operator-overloading/gt1 (mut i32) (i32.const 0))
(global $std/operator-overloading/gt2 (mut i32) (i32.const 0))
(global $std/operator-overloading/gt (mut i32) (i32.const 0))
(global $std/operator-overloading/gte1 (mut i32) (i32.const 0))
(global $std/operator-overloading/gte2 (mut i32) (i32.const 0))
(global $std/operator-overloading/gte (mut i32) (i32.const 0))
(global $std/operator-overloading/le1 (mut i32) (i32.const 0))
(global $std/operator-overloading/le2 (mut i32) (i32.const 0))
(global $std/operator-overloading/le (mut i32) (i32.const 0))
(global $std/operator-overloading/leq1 (mut i32) (i32.const 0))
(global $std/operator-overloading/leq2 (mut i32) (i32.const 0))
(global $std/operator-overloading/leq (mut i32) (i32.const 0))
(global $std/operator-overloading/shr (mut i32) (i32.const 0))
(global $std/operator-overloading/sres (mut i32) (i32.const 0))
(global $std/operator-overloading/shu (mut i32) (i32.const 0))
(global $std/operator-overloading/ures (mut i32) (i32.const 0))
(global $std/operator-overloading/shl (mut i32) (i32.const 0))
(global $std/operator-overloading/pos (mut i32) (i32.const 0))
(global $std/operator-overloading/pres (mut i32) (i32.const 0))
(global $std/operator-overloading/neg (mut i32) (i32.const 0))
(global $std/operator-overloading/nres (mut i32) (i32.const 0))
(global $std/operator-overloading/not (mut i32) (i32.const 0))
(global $std/operator-overloading/res (mut i32) (i32.const 0))
(global $std/operator-overloading/excl (mut i32) (i32.const 0))
(global $std/operator-overloading/bres (mut i32) (i32.const 0))
(global $std/operator-overloading/incdec (mut i32) (i32.const 0))
(global $std/operator-overloading/tmp (mut i32) (i32.const 0))
(global $std/operator-overloading/ais1 (mut i32) (i32.const 0))
(global $std/operator-overloading/ais2 (mut i32) (i32.const 0))
(global $std/operator-overloading/ais (mut i32) (i32.const 0))
(global $std/operator-overloading/aii1 (mut i32) (i32.const 0))
(global $std/operator-overloading/aii2 (mut i32) (i32.const 0))
(global $std/operator-overloading/aii (mut i32) (i32.const 0))
(export "memory" (memory $0))
(export "table" (table $0))
(start $start)
(func $~lib/allocator/arena/__memory_allocate (; 1 ;) (type $FUNCSIG$i) (result i32)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
global.get $~lib/allocator/arena/offset
local.tee $0
i32.const 15
i32.add
i32.const -8
i32.and
local.tee $1
current_memory
local.tee $2
i32.const 16
i32.shl
i32.gt_u
if
local.get $2
local.get $1
local.get $0
i32.sub
i32.const 65535
i32.add
i32.const -65536
i32.and
i32.const 16
i32.shr_u
local.tee $3
local.get $2
local.get $3
i32.gt_s
select
grow_memory
i32.const 0
i32.lt_s
if
local.get $3
grow_memory
i32.const 0
i32.lt_s
if
unreachable
end
end
end
local.get $1
global.set $~lib/allocator/arena/offset
local.get $0
)
(func $std/operator-overloading/Tester#constructor (; 2 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
call $~lib/allocator/arena/__memory_allocate
local.tee $2
local.get $0
i32.store
local.get $2
local.get $1
i32.store offset=4
local.get $2
)
(func $~lib/math/NativeMath.scalbn (; 3 ;) (type $FUNCSIG$ddi) (param $0 f64) (param $1 i32) (result f64)
local.get $1
i32.const 1023
i32.gt_s
if (result f64)
local.get $0
f64.const 8988465674311579538646525e283
f64.mul
local.set $0
local.get $1
i32.const 1023
i32.sub
local.tee $1
i32.const 1023
i32.gt_s
if (result f64)
local.get $1
i32.const 1023
i32.sub
local.tee $1
i32.const 1023
local.get $1
i32.const 1023
i32.lt_s
select
local.set $1
local.get $0
f64.const 8988465674311579538646525e283
f64.mul
else
local.get $0
end
else
local.get $1
i32.const -1022
i32.lt_s
if (result f64)
local.get $0
f64.const 2.004168360008973e-292
f64.mul
local.set $0
local.get $1
i32.const 969
i32.add
local.tee $1
i32.const -1022
i32.lt_s
if (result f64)
local.get $1
i32.const 969
i32.add
local.tee $1
i32.const -1022
local.get $1
i32.const -1022
i32.gt_s
select
local.set $1
local.get $0
f64.const 2.004168360008973e-292
f64.mul
else
local.get $0
end
else
local.get $0
end
end
local.get $1
i64.extend_i32_s
i64.const 1023
i64.add
i64.const 52
i64.shl
f64.reinterpret_i64
f64.mul
)
(func $~lib/math/NativeMath.pow (; 4 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64)
(local $2 i32)
(local $3 f64)
(local $4 f64)
(local $5 i32)
(local $6 i32)
(local $7 f64)
(local $8 i32)
(local $9 i32)
(local $10 f64)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 f64)
(local $15 f64)
(local $16 i64)
(local $17 i32)
(local $18 f64)
(local $19 i32)
(local $20 f64)
local.get $0
i64.reinterpret_f64
local.tee $16
i32.wrap_i64
local.set $19
local.get $16
i64.const 32
i64.shr_u
i32.wrap_i64
local.tee $17
i32.const 2147483647
i32.and
local.set $5
local.get $1
i64.reinterpret_f64
local.tee $16
i64.const 32
i64.shr_u
i32.wrap_i64
local.tee $9
i32.const 2147483647
i32.and
local.set $8
local.get $8
local.get $16
i32.wrap_i64
local.tee $6
i32.or
i32.eqz
if
f64.const 1
return
end
local.get $5
i32.const 2146435072
i32.gt_s
local.tee $2
i32.eqz
if
local.get $5
i32.const 2146435072
i32.eq
local.tee $2
if
local.get $19
i32.const 0
i32.ne
local.set $2
end
end
local.get $2
i32.eqz
if
local.get $8
i32.const 2146435072
i32.gt_s
local.set $2
end
local.get $2
i32.eqz
if
local.get $8
i32.const 2146435072
i32.eq
local.tee $2
if
local.get $6
i32.const 0
i32.ne
local.set $2
end
end
local.get $2
if
local.get $0
local.get $1
f64.add
return
end
local.get $17
i32.const 0
i32.lt_s
if
local.get $8
i32.const 1128267776
i32.ge_s
if (result i32)
i32.const 2
else
local.get $8
i32.const 1072693248
i32.ge_s
if (result i32)
local.get $6
local.get $8
local.get $8
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
local.tee $12
i32.const 20
i32.gt_s
local.tee $13
select
local.tee $2
local.get $2
i32.const 52
i32.const 20
local.get $13
select
local.get $12
i32.sub
local.tee $13
i32.shr_s
local.tee $2
local.get $13
i32.shl
i32.eq
if (result i32)
i32.const 2
local.get $2
i32.const 1
i32.and
i32.sub
else
i32.const 0
end
else
i32.const 0
end
end
local.set $11
end
local.get $6
i32.eqz
if
local.get $8
i32.const 2146435072
i32.eq
if
local.get $5
i32.const 1072693248
i32.sub
local.get $19
i32.or
if
local.get $5
i32.const 1072693248
i32.ge_s
if
local.get $9
i32.const 0
i32.lt_s
if
f64.const 0
local.set $1
end
local.get $1
return
else
f64.const 0
local.get $1
f64.neg
local.get $9
i32.const 0
i32.ge_s
select
return
end
unreachable
else
f64.const nan:0x8000000000000
return
end
unreachable
end
local.get $8
i32.const 1072693248
i32.eq
if
local.get $9
i32.const 0
i32.ge_s
if
local.get $0
return
end
f64.const 1
local.get $0
f64.div
return
end
local.get $9
i32.const 1073741824
i32.eq
if
local.get $0
local.get $0
f64.mul
return
end
local.get $9
i32.const 1071644672
i32.eq
if
local.get $17
i32.const 0
i32.ge_s
if
local.get $0
f64.sqrt
return
end
end
end
local.get $0
f64.abs
local.set $4
local.get $19
i32.eqz
if
local.get $5
i32.eqz
local.tee $2
i32.eqz
if
local.get $5
i32.const 2146435072
i32.eq
local.set $2
end
local.get $2
i32.eqz
if
local.get $5
i32.const 1072693248
i32.eq
local.set $2
end
local.get $2
if
f64.const 1
local.get $4
f64.div
local.get $4
local.get $9
i32.const 0
i32.lt_s
select
local.set $4
local.get $17
i32.const 0
i32.lt_s
if (result f64)
local.get $5
i32.const 1072693248
i32.sub
local.get $11
i32.or
if (result f64)
local.get $4
f64.neg
local.get $4
local.get $11
i32.const 1
i32.eq
select
else
local.get $4
local.get $4
f64.sub
local.tee $0
local.get $0
f64.div
end
else
local.get $4
end
return
end
end
f64.const 1
local.set $7
local.get $17
i32.const 0
i32.lt_s
if
local.get $11
i32.eqz
if
local.get $0
local.get $0
f64.sub
local.tee $0
local.get $0
f64.div
return
end
f64.const -1
f64.const 1
local.get $11
i32.const 1
i32.eq
select
local.set $7
end
local.get $8
i32.const 1105199104
i32.gt_s
if (result f64)
local.get $8
i32.const 1139802112
i32.gt_s
if
local.get $5
i32.const 1072693247
i32.le_s
if
f64.const inf
f64.const 0
local.get $9
i32.const 0
i32.lt_s
select
return
end
local.get $5
i32.const 1072693248
i32.ge_s
if
f64.const inf
f64.const 0
local.get $9
i32.const 0
i32.gt_s
select
return
end
end
local.get $5
i32.const 1072693247
i32.lt_s
if
local.get $9
i32.const 0
i32.lt_s
if (result f64)
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
else
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
end
return
end
local.get $5
i32.const 1072693248
i32.gt_s
if
local.get $9
i32.const 0
i32.gt_s
if (result f64)
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
else
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
end
return
end
local.get $4
f64.const 1
f64.sub
local.tee $3
local.get $3
f64.mul
f64.const 0.5
local.get $3
f64.const 0.3333333333333333
local.get $3
f64.const 0.25
f64.mul
f64.sub
f64.mul
f64.sub
f64.mul
local.set $0
f64.const 1.4426950216293335
local.get $3
f64.mul
local.tee $4
local.get $3
f64.const 1.9259629911266175e-08
f64.mul
local.get $0
f64.const 1.4426950408889634
f64.mul
f64.sub
local.tee $0
f64.add
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $10
local.get $0
local.get $10
local.get $4
f64.sub
f64.sub
else
i32.const 0
local.set $6
local.get $5
i32.const 1048576
i32.lt_s
if (result i32)
local.get $4
f64.const 9007199254740992
f64.mul
local.tee $4
i64.reinterpret_f64
i64.const 32
i64.shr_u
i32.wrap_i64
local.set $5
i32.const -53
else
i32.const 0
end
local.get $5
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
i32.add
local.set $6
local.get $5
i32.const 1048575
i32.and
local.tee $2
i32.const 1072693248
i32.or
local.set $5
local.get $2
i32.const 235662
i32.le_s
if (result i32)
i32.const 0
else
local.get $2
i32.const 767610
i32.lt_s
if (result i32)
i32.const 1
else
local.get $6
i32.const 1
i32.add
local.set $6
local.get $5
i32.const -1048576
i32.add
local.set $5
i32.const 0
end
end
local.set $2
local.get $4
i64.reinterpret_f64
i64.const 4294967295
i64.and
local.get $5
i64.extend_i32_s
i64.const 32
i64.shl
i64.or
f64.reinterpret_i64
local.tee $4
f64.const 1.5
f64.const 1
local.get $2
select
local.tee $0
f64.sub
local.tee $10
f64.const 1
local.get $4
local.get $0
f64.add
f64.div
local.tee $3
f64.mul
local.tee $18
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $14
local.get $4
local.get $5
i32.const 1
i32.shr_s
i32.const 536870912
i32.or
i32.const 524288
i32.add
local.get $2
i32.const 18
i32.shl
i32.add
i64.extend_i32_s
i64.const 32
i64.shl
f64.reinterpret_i64
local.tee $4
local.get $0
f64.sub
f64.sub
local.set $0
f64.const 0.9617967009544373
local.get $14
f64.const 3
local.get $14
local.get $14
f64.mul
local.tee $20
f64.add
local.get $18
local.get $18
f64.mul
local.tee $15
local.get $15
f64.mul
f64.const 0.5999999999999946
local.get $15
f64.const 0.4285714285785502
local.get $15
f64.const 0.33333332981837743
local.get $15
f64.const 0.272728123808534
local.get $15
f64.const 0.23066074577556175
local.get $15
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.get $3
local.get $10
local.get $14
local.get $4
f64.mul
f64.sub
local.get $14
local.get $0
f64.mul
f64.sub
f64.mul
local.tee $3
local.get $14
local.get $18
f64.add
f64.mul
f64.add
local.tee $0
f64.add
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.tee $10
f64.mul
local.tee $4
local.get $3
local.get $10
f64.mul
local.get $0
local.get $10
f64.const 3
f64.sub
local.get $20
f64.sub
f64.sub
local.get $18
f64.mul
f64.add
local.tee $0
f64.add
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.tee $3
f64.mul
local.tee $20
f64.const -7.028461650952758e-09
local.get $3
f64.mul
local.get $0
local.get $3
local.get $4
f64.sub
f64.sub
f64.const 0.9617966939259756
f64.mul
f64.add
f64.const 1.350039202129749e-08
f64.const 0
local.get $2
select
f64.add
local.tee $3
f64.add
f64.const 0.5849624872207642
f64.const 0
local.get $2
select
local.tee $4
f64.add
local.get $6
f64.convert_i32_s
local.tee $0
f64.add
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.set $10
local.get $3
local.get $10
local.get $0
f64.sub
local.get $4
f64.sub
local.get $20
f64.sub
f64.sub
end
local.set $4
local.get $1
local.get $1
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.tee $0
f64.sub
local.get $10
f64.mul
local.get $1
local.get $4
f64.mul
f64.add
local.tee $1
local.get $0
local.get $10
f64.mul
local.tee $3
f64.add
local.tee $0
i64.reinterpret_f64
local.tee $16
i32.wrap_i64
local.set $2
block $folding-inner1
block $folding-inner0
local.get $16
i64.const 32
i64.shr_u
i32.wrap_i64
local.tee $12
i32.const 1083179008
i32.ge_s
if
local.get $12
i32.const 1083179008
i32.sub
local.get $2
i32.or
br_if $folding-inner0
local.get $1
f64.const 8.008566259537294e-17
f64.add
local.get $0
local.get $3
f64.sub
f64.gt
br_if $folding-inner0
else
local.get $12
i32.const 2147483647
i32.and
i32.const 1083231232
i32.ge_s
if
local.get $12
i32.const -1064252416
i32.sub
local.get $2
i32.or
br_if $folding-inner1
local.get $1
local.get $0
local.get $3
f64.sub
f64.le
br_if $folding-inner1
end
end
local.get $12
i32.const 2147483647
i32.and
local.tee $13
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
local.set $2
i32.const 0
local.set $6
local.get $13
i32.const 1071644672
i32.gt_s
if
i32.const 1048576
local.get $2
i32.const 1
i32.add
i32.shr_s
local.get $12
i32.add
local.tee $13
i32.const 2147483647
i32.and
i32.const 20
i32.shr_s
i32.const 1023
i32.sub
local.set $2
i32.const 1048575
local.get $2
i32.shr_s
i32.const -1
i32.xor
local.get $13
i32.and
i64.extend_i32_s
i64.const 32
i64.shl
f64.reinterpret_i64
local.set $0
local.get $13
i32.const 1048575
i32.and
i32.const 1048576
i32.or
i32.const 20
local.get $2
i32.sub
i32.shr_s
local.set $6
i32.const 0
local.get $6
i32.sub
local.get $6
local.get $12
i32.const 0
i32.lt_s
select
local.set $6
local.get $3
local.get $0
f64.sub
local.set $3
end
local.get $1
local.get $3
f64.add
i64.reinterpret_f64
i64.const -4294967296
i64.and
f64.reinterpret_i64
local.tee $0
f64.const 0.6931471824645996
f64.mul
local.tee $4
local.get $1
local.get $0
local.get $3
f64.sub
f64.sub
f64.const 0.6931471805599453
f64.mul
local.get $0
f64.const -1.904654299957768e-09
f64.mul
f64.add
local.tee $1
f64.add
local.tee $3
local.get $3
f64.mul
local.set $0
local.get $7
f64.const 1
local.get $3
local.get $3
local.get $0
f64.const 0.16666666666666602
local.get $0
f64.const -2.7777777777015593e-03
local.get $0
f64.const 6.613756321437934e-05
local.get $0
f64.const -1.6533902205465252e-06
local.get $0
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.tee $0
f64.mul
local.get $0
f64.const 2
f64.sub
f64.div
local.get $1
local.get $3
local.get $4
f64.sub
f64.sub
local.tee $0
local.get $3
local.get $0
f64.mul
f64.add
f64.sub
local.get $3
f64.sub
f64.sub
local.tee $0
i64.reinterpret_f64
i64.const 32
i64.shr_u
i32.wrap_i64
local.get $6
i32.const 20
i32.shl
i32.add
local.tee $2
i32.const 20
i32.shr_s
i32.const 0
i32.le_s
if (result f64)
local.get $0
local.get $6
call $~lib/math/NativeMath.scalbn
else
local.get $0
i64.reinterpret_f64
i64.const 4294967295
i64.and
local.get $2
i64.extend_i32_s
i64.const 32
i64.shl
i64.or
f64.reinterpret_i64
end
f64.mul
return
end
local.get $7
f64.const 1.e+300
f64.mul
f64.const 1.e+300
f64.mul
return
end
local.get $7
f64.const 1e-300
f64.mul
f64.const 1e-300
f64.mul
)
(func $std/operator-overloading/Tester.pow (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load
f64.convert_i32_s
local.get $1
i32.load
f64.convert_i32_s
call $~lib/math/NativeMath.pow
i32.trunc_f64_s
local.get $0
i32.load offset=4
f64.convert_i32_s
local.get $1
i32.load offset=4
f64.convert_i32_s
call $~lib/math/NativeMath.pow
i32.trunc_f64_s
call $std/operator-overloading/Tester#constructor
)
(func $start:std/operator-overloading (; 6 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
i32.const 72
global.set $~lib/allocator/arena/startOffset
global.get $~lib/allocator/arena/startOffset
global.set $~lib/allocator/arena/offset
i32.const 1
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/a1
i32.const 2
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/a2
global.get $std/operator-overloading/a1
local.tee $0
i32.load
global.get $std/operator-overloading/a2
local.tee $1
i32.load
i32.add
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.add
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/a
global.get $std/operator-overloading/a
i32.load
i32.const 3
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/a
i32.load offset=4
i32.const 5
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 147
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 2
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/s1
i32.const 2
i32.const -3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/s2
global.get $std/operator-overloading/s1
local.tee $0
i32.load
global.get $std/operator-overloading/s2
local.tee $1
i32.load
i32.sub
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.sub
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/s
global.get $std/operator-overloading/s
i32.load
i32.eqz
local.tee $0
if (result i32)
global.get $std/operator-overloading/s
i32.load offset=4
i32.const 6
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 153
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 2
i32.const 5
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/m1
i32.const 3
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/m2
global.get $std/operator-overloading/m1
local.tee $0
i32.load
global.get $std/operator-overloading/m2
local.tee $1
i32.load
i32.mul
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.mul
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/m
global.get $std/operator-overloading/m
i32.load
i32.const 6
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/m
i32.load offset=4
i32.const 10
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 159
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 6
i32.const 50
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/d1
i32.const 3
i32.const 10
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/d2
global.get $std/operator-overloading/d1
local.tee $0
i32.load
global.get $std/operator-overloading/d2
local.tee $1
i32.load
i32.div_s
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.div_s
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/d
global.get $std/operator-overloading/d
i32.load
i32.const 2
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/d
i32.load offset=4
i32.const 5
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 165
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 10
i32.const 10
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/f1
i32.const 6
i32.const 10
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/f2
global.get $std/operator-overloading/f1
local.tee $0
i32.load
global.get $std/operator-overloading/f2
local.tee $1
i32.load
i32.rem_s
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.rem_s
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/f
global.get $std/operator-overloading/f
i32.load
i32.const 4
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/f
i32.load offset=4
i32.eqz
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 171
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 2
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/p1
i32.const 4
i32.const 5
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/p2
global.get $std/operator-overloading/p1
global.get $std/operator-overloading/p2
call $std/operator-overloading/Tester.pow
global.set $std/operator-overloading/p
global.get $std/operator-overloading/p
i32.load
i32.const 16
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/p
i32.load offset=4
i32.const 243
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 177
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 255
i32.const 15
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/n1
i32.const 15
i32.const 255
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/n2
global.get $std/operator-overloading/n1
local.tee $0
i32.load
global.get $std/operator-overloading/n2
local.tee $1
i32.load
i32.and
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.and
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/n
global.get $std/operator-overloading/n
i32.load
i32.const 15
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/n
i32.load offset=4
i32.const 15
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 183
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 3855
i32.const 255
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/o1
i32.const 61680
i32.const 0
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/o2
global.get $std/operator-overloading/o1
local.tee $0
i32.load
global.get $std/operator-overloading/o2
local.tee $1
i32.load
i32.or
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.or
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/o
global.get $std/operator-overloading/o
i32.load
i32.const 65535
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/o
i32.load offset=4
i32.const 255
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 189
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 255
i32.const 255
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/x1
i32.const 65280
i32.const 0
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/x2
global.get $std/operator-overloading/x1
local.tee $0
i32.load
global.get $std/operator-overloading/x2
local.tee $1
i32.load
i32.xor
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.xor
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/x
global.get $std/operator-overloading/x
i32.load
i32.const 65535
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/x
i32.load offset=4
i32.const 255
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 195
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 1
i32.const -2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/eq1
i32.const 1
i32.const -2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/eq2
global.get $std/operator-overloading/eq1
local.tee $1
i32.load
global.get $std/operator-overloading/eq2
local.tee $2
i32.load
i32.eq
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.eq
else
local.get $0
end
global.set $std/operator-overloading/eq
global.get $std/operator-overloading/eq
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 201
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 1
i32.const 0
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/eq3
i32.const 0
i32.const 1
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/eq4
global.get $std/operator-overloading/eq3
local.tee $1
i32.load
global.get $std/operator-overloading/eq4
local.tee $2
i32.load
i32.eq
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.eq
else
local.get $0
end
global.set $std/operator-overloading/eqf
global.get $std/operator-overloading/eqf
if
i32.const 0
i32.const 8
i32.const 207
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/eq1
local.tee $1
i32.load
global.get $std/operator-overloading/eq2
local.tee $2
i32.load
i32.ne
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.ne
else
local.get $0
end
global.set $std/operator-overloading/eq
global.get $std/operator-overloading/eq
if
i32.const 0
i32.const 8
i32.const 211
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/eq3
local.tee $1
i32.load
global.get $std/operator-overloading/eq4
local.tee $2
i32.load
i32.ne
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.ne
else
local.get $0
end
global.set $std/operator-overloading/eqf
global.get $std/operator-overloading/eqf
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 215
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 2
i32.const 2147483647
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/gt1
i32.const 1
i32.const 0
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/gt2
global.get $std/operator-overloading/gt1
local.tee $1
i32.load
global.get $std/operator-overloading/gt2
local.tee $2
i32.load
i32.gt_s
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.gt_s
else
local.get $0
end
global.set $std/operator-overloading/gt
global.get $std/operator-overloading/gt
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 221
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 2
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/gte1
i32.const 2
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/gte2
global.get $std/operator-overloading/gte1
local.tee $1
i32.load
global.get $std/operator-overloading/gte2
local.tee $2
i32.load
i32.ge_s
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.ge_s
else
local.get $0
end
global.set $std/operator-overloading/gte
global.get $std/operator-overloading/gte
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 227
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 5
i32.const -1
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/le1
i32.const 6
i32.const 6
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/le2
global.get $std/operator-overloading/le1
local.tee $1
i32.load
global.get $std/operator-overloading/le2
local.tee $2
i32.load
i32.lt_s
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.lt_s
else
local.get $0
end
global.set $std/operator-overloading/le
global.get $std/operator-overloading/le
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 233
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 4
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/leq1
i32.const 4
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/leq2
global.get $std/operator-overloading/leq1
local.tee $1
i32.load
global.get $std/operator-overloading/leq2
local.tee $2
i32.load
i32.le_s
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
local.get $2
i32.load offset=4
i32.le_s
else
local.get $0
end
global.set $std/operator-overloading/leq
global.get $std/operator-overloading/leq
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 239
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 8
i32.const 16
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/shr
global.get $std/operator-overloading/shr
local.tee $0
i32.load
i32.const 3
i32.shr_s
local.get $0
i32.load offset=4
i32.const 3
i32.shr_s
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/sres
global.get $std/operator-overloading/sres
i32.load
i32.const 1
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/sres
i32.load offset=4
i32.const 2
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 244
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const -8
i32.const -16
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/shu
global.get $std/operator-overloading/shu
local.tee $0
i32.load
i32.const 3
i32.shr_u
local.get $0
i32.load offset=4
i32.const 3
i32.shr_u
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/ures
global.get $std/operator-overloading/ures
i32.load
i32.const 536870911
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/ures
i32.load offset=4
i32.const 536870910
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 249
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 1
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/shl
global.get $std/operator-overloading/shl
local.tee $0
i32.load
i32.const 3
i32.shl
local.get $0
i32.load offset=4
i32.const 3
i32.shl
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/sres
global.get $std/operator-overloading/sres
i32.load
i32.const 8
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/sres
i32.load offset=4
i32.const 16
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 254
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 1
i32.const -2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/pos
global.get $std/operator-overloading/pos
local.tee $0
i32.load
local.get $0
i32.load offset=4
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/pres
global.get $std/operator-overloading/pres
i32.load
global.get $std/operator-overloading/pos
i32.load
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/pres
i32.load offset=4
global.get $std/operator-overloading/pos
i32.load offset=4
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 259
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const -1
i32.const -2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/neg
i32.const 0
global.get $std/operator-overloading/neg
local.tee $0
i32.load
i32.sub
i32.const 0
local.get $0
i32.load offset=4
i32.sub
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/nres
global.get $std/operator-overloading/nres
i32.load
i32.const 0
global.get $std/operator-overloading/neg
i32.load
i32.sub
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/nres
i32.load offset=4
i32.const 0
global.get $std/operator-overloading/neg
i32.load offset=4
i32.sub
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 264
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 255
i32.const 16
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/not
global.get $std/operator-overloading/not
local.tee $0
i32.load
i32.const -1
i32.xor
local.get $0
i32.load offset=4
i32.const -1
i32.xor
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/res
global.get $std/operator-overloading/res
i32.load
global.get $std/operator-overloading/not
i32.load
i32.const -1
i32.xor
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/res
i32.load offset=4
global.get $std/operator-overloading/not
i32.load offset=4
i32.const -1
i32.xor
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 269
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 0
i32.const 0
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/excl
global.get $std/operator-overloading/excl
local.tee $1
i32.load
i32.eqz
local.tee $0
if (result i32)
local.get $1
i32.load offset=4
i32.eqz
else
local.get $0
end
global.set $std/operator-overloading/bres
global.get $std/operator-overloading/bres
local.set $1
global.get $std/operator-overloading/excl
i32.load
i32.eqz
local.tee $0
if (result i32)
global.get $std/operator-overloading/excl
i32.load offset=4
i32.eqz
else
local.get $0
end
local.get $1
i32.ne
if
i32.const 0
i32.const 8
i32.const 274
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/bres
i32.const 1
i32.ne
if
i32.const 0
i32.const 8
i32.const 275
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 0
i32.const 1
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
local.tee $0
local.get $0
i32.load
i32.const 1
i32.add
i32.store
local.get $0
local.get $0
i32.load offset=4
i32.const 1
i32.add
i32.store offset=4
local.get $0
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
i32.load
i32.const 1
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/incdec
i32.load offset=4
i32.const 2
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 281
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/incdec
local.tee $0
local.get $0
i32.load
i32.const 1
i32.sub
i32.store
local.get $0
local.get $0
i32.load offset=4
i32.const 1
i32.sub
i32.store offset=4
local.get $0
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
i32.load
i32.eqz
local.tee $0
if (result i32)
global.get $std/operator-overloading/incdec
i32.load offset=4
i32.const 1
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 284
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 0
i32.const 1
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
local.tee $0
i32.load
i32.const 1
i32.add
local.get $0
i32.load offset=4
i32.const 1
i32.add
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/incdec
local.get $0
global.set $std/operator-overloading/tmp
global.get $std/operator-overloading/tmp
i32.load
i32.eqz
local.tee $0
if (result i32)
global.get $std/operator-overloading/tmp
i32.load offset=4
i32.const 1
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 289
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/incdec
i32.load
i32.const 1
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/incdec
i32.load offset=4
i32.const 2
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 290
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/incdec
local.tee $0
i32.load
i32.const 1
i32.sub
local.get $0
i32.load offset=4
i32.const 1
i32.sub
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/incdec
local.get $0
global.set $std/operator-overloading/tmp
global.get $std/operator-overloading/tmp
i32.load
i32.const 1
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/tmp
i32.load offset=4
i32.const 2
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 293
i32.const 0
call $~lib/env/abort
unreachable
end
global.get $std/operator-overloading/incdec
i32.load
i32.eqz
local.tee $0
if (result i32)
global.get $std/operator-overloading/incdec
i32.load offset=4
i32.const 1
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 294
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 1
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/ais1
global.get $std/operator-overloading/ais1
local.tee $0
i32.load
i32.const 1
i32.add
local.get $0
i32.load offset=4
i32.const 1
i32.add
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/ais1
i32.const 2
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/ais2
global.get $std/operator-overloading/ais1
local.tee $0
i32.load
global.get $std/operator-overloading/ais2
local.tee $1
i32.load
i32.add
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.add
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/ais
global.get $std/operator-overloading/ais
i32.load
i32.const 4
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/ais
i32.load offset=4
i32.const 6
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 314
i32.const 0
call $~lib/env/abort
unreachable
end
i32.const 1
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/aii1
global.get $std/operator-overloading/aii1
local.tee $0
i32.load
i32.const 1
i32.add
local.get $0
i32.load offset=4
i32.const 1
i32.add
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/aii1
i32.const 2
i32.const 3
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/aii2
global.get $std/operator-overloading/aii1
local.tee $0
i32.load
global.get $std/operator-overloading/aii2
local.tee $1
i32.load
i32.add
local.get $0
i32.load offset=4
local.get $1
i32.load offset=4
i32.add
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/aii
global.get $std/operator-overloading/aii
i32.load
i32.const 4
i32.eq
local.tee $0
if (result i32)
global.get $std/operator-overloading/aii
i32.load offset=4
i32.const 6
i32.eq
else
local.get $0
end
i32.eqz
if
i32.const 0
i32.const 8
i32.const 334
i32.const 0
call $~lib/env/abort
unreachable
end
)
(func $start (; 7 ;) (type $FUNCSIG$v)
call $start:std/operator-overloading
)
(func $null (; 8 ;) (type $FUNCSIG$v)
nop
)
)